diff --git a/provider/exoscale/exoscale.go b/provider/exoscale/exoscale.go index 87a9caef01..6e13f14f2a 100644 --- a/provider/exoscale/exoscale.go +++ b/provider/exoscale/exoscale.go @@ -33,7 +33,6 @@ import ( type EgoscaleClientI interface { ListDNSDomainRecords(context.Context, string, string) ([]egoscale.DNSDomainRecord, error) ListDNSDomains(context.Context, string) ([]egoscale.DNSDomain, error) - GetDNSDomainRecord(context.Context, string, string, string) (*egoscale.DNSDomainRecord, error) CreateDNSDomainRecord(context.Context, string, string, *egoscale.DNSDomainRecord) (*egoscale.DNSDomainRecord, error) DeleteDNSDomainRecord(context.Context, string, string, *egoscale.DNSDomainRecord) error UpdateDNSDomainRecord(context.Context, string, string, *egoscale.DNSDomainRecord) error @@ -160,16 +159,11 @@ func (ep *ExoscaleProvider) ApplyChanges(ctx context.Context, changes *plan.Chan return err } - for _, r := range records { - if *r.Name != name { + for _, record := range records { + if *record.Name != name { continue } - record, err := ep.client.GetDNSDomainRecord(ctx, ep.apiZone, zoneID, *r.ID) - if err != nil { - return err - } - record.Type = &epoint.RecordType record.Content = &epoint.Targets[0] if epoint.RecordTTL != 0 { @@ -177,7 +171,7 @@ func (ep *ExoscaleProvider) ApplyChanges(ctx context.Context, changes *plan.Chan record.TTL = &ttl } - err = ep.client.UpdateDNSDomainRecord(ctx, ep.apiZone, zoneID, record) + err = ep.client.UpdateDNSDomainRecord(ctx, ep.apiZone, zoneID, &record) if err != nil { return err } @@ -240,11 +234,7 @@ func (ep *ExoscaleProvider) Records(ctx context.Context) ([]*endpoint.Endpoint, return nil, err } - for _, r := range records { - record, err := ep.client.GetDNSDomainRecord(ctx, ep.apiZone, *domain.ID, *r.ID) - if err != nil { - return nil, err - } + for _, record := range records { switch *record.Type { case "A", "CNAME", "TXT": break @@ -252,7 +242,7 @@ func (ep *ExoscaleProvider) Records(ctx context.Context) ([]*endpoint.Endpoint, continue } - e := endpoint.NewEndpointWithTTL((*record.Name)+"."+(*domain.UnicodeName), *record.Type, endpoint.TTL(*r.TTL), *record.Content) + e := endpoint.NewEndpointWithTTL((*record.Name)+"."+(*domain.UnicodeName), *record.Type, endpoint.TTL(*record.TTL), *record.Content) endpoints = append(endpoints, e) } } diff --git a/provider/exoscale/exoscale_test.go b/provider/exoscale/exoscale_test.go index 2e7f142c4b..ed94c9c9bd 100644 --- a/provider/exoscale/exoscale_test.go +++ b/provider/exoscale/exoscale_test.go @@ -18,7 +18,6 @@ package exoscale import ( "context" - "errors" "testing" egoscale "github.com/exoscale/egoscale/v2" @@ -93,17 +92,6 @@ func (ep *ExoscaleClientStub) ListDNSDomainRecords(ctx context.Context, _, domai return groups[domainID], nil } -func (ep *ExoscaleClientStub) GetDNSDomainRecord(ctx context.Context, _, domainID, recordID string) (*egoscale.DNSDomainRecord, error) { - group := groups[domainID] - for _, record := range group { - if *record.ID == recordID { - return &record, nil - } - } - - return nil, errors.New("not found") -} - func (ep *ExoscaleClientStub) CreateDNSDomainRecord(ctx context.Context, _, domainID string, record *egoscale.DNSDomainRecord) (*egoscale.DNSDomainRecord, error) { createExoscale = append(createExoscale, createRecordExoscale{domainID: domainID, record: record}) return record, nil