diff --git a/provider/digitalocean/digital_ocean.go b/provider/digitalocean/digital_ocean.go index c9164010f..20cfcefa0 100644 --- a/provider/digitalocean/digital_ocean.go +++ b/provider/digitalocean/digital_ocean.go @@ -172,7 +172,8 @@ func (p *DigitalOceanProvider) Records(ctx context.Context) ([]*endpoint.Endpoin name = zone.Name } - ep := endpoint.NewEndpoint(name, r.Type, r.Data) + ep := endpoint.NewEndpointWithTTL(name, r.Type, endpoint.TTL(r.TTL), r.Data) + endpoints = append(endpoints, ep) } } diff --git a/provider/digitalocean/digital_ocean_test.go b/provider/digitalocean/digital_ocean_test.go index ab53ca49c..d16be2471 100644 --- a/provider/digitalocean/digital_ocean_test.go +++ b/provider/digitalocean/digital_ocean_test.go @@ -333,6 +333,17 @@ func TestDigitalOceanMakeDomainEditRequest(t *testing.T) { Data: "bar.example.com.", TTL: digitalOceanRecordTTL, }, r3) + + // Ensure that custom TTLs can be set + customTTL := 600 + r4 := makeDomainEditRequest("example.com", "foo.example.com", endpoint.RecordTypeCNAME, + "bar.example.com.", customTTL) + assert.Equal(t, &godo.DomainRecordEditRequest{ + Type: endpoint.RecordTypeCNAME, + Name: "foo", + Data: "bar.example.com.", + TTL: customTTL, + }, r4) } func TestDigitalOceanApplyChanges(t *testing.T) {