@@ -111,7 +111,7 @@ type cloudFlareDNS interface {
111111 ListZones (ctx context.Context , params zones.ZoneListParams ) autoPager [zones.Zone ]
112112 GetZone (ctx context.Context , zoneID string ) (* zones.Zone , error )
113113 ListDNSRecords (ctx context.Context , rc * cloudflarev0.ResourceContainer , rp cloudflarev0.ListDNSRecordsParams ) ([]dns.RecordResponse , * cloudflarev0.ResultInfo , error )
114- CreateDNSRecord (ctx context.Context , rc * cloudflarev0. ResourceContainer , rp cloudflarev0. CreateDNSRecordParams ) (dns.RecordResponse , error )
114+ CreateDNSRecord (ctx context.Context , params dns. RecordNewParams ) (* dns.RecordResponse , error )
115115 DeleteDNSRecord (ctx context.Context , rc * cloudflarev0.ResourceContainer , recordID string ) error
116116 UpdateDNSRecord (ctx context.Context , rc * cloudflarev0.ResourceContainer , rp cloudflarev0.UpdateDNSRecordParams ) error
117117 ListDataLocalizationRegionalHostnames (ctx context.Context , params addressing.RegionalHostnameListParams ) autoPager [addressing.RegionalHostnameListResponse ]
@@ -148,9 +148,8 @@ func (z zoneService) ZoneIDByName(zoneName string) (string, error) {
148148 return "" , fmt .Errorf ("zone %q not found in CloudFlare account - verify the zone exists and API credentials have access to it" , zoneName )
149149}
150150
151- func (z zoneService ) CreateDNSRecord (ctx context.Context , rc * cloudflarev0.ResourceContainer , rp cloudflarev0.CreateDNSRecordParams ) (dns.RecordResponse , error ) {
152- record , err := z .serviceV0 .CreateDNSRecord (ctx , rc , rp )
153- return dnsRecordResponseFromLegacyDNSRecord (record ), err
151+ func (z zoneService ) CreateDNSRecord (ctx context.Context , params dns.RecordNewParams ) (* dns.RecordResponse , error ) {
152+ return z .service .DNS .Records .New (ctx , params )
154153}
155154
156155func (z zoneService ) ListDNSRecords (ctx context.Context , rc * cloudflarev0.ResourceContainer , rp cloudflarev0.ListDNSRecordsParams ) ([]dns.RecordResponse , * cloudflarev0.ResultInfo , error ) {
@@ -286,20 +285,19 @@ func updateDNSRecordParam(cfc cloudFlareChange) cloudflarev0.UpdateDNSRecordPara
286285}
287286
288287// getCreateDNSRecordParam is a function that returns the appropriate Record Param based on the cloudFlareChange passed in
289- func getCreateDNSRecordParam (cfc cloudFlareChange ) cloudflarev0.CreateDNSRecordParams {
290- priority := uint16 (cfc .ResourceRecord .Priority )
291-
292- params := cloudflarev0.CreateDNSRecordParams {
293- Name : cfc .ResourceRecord .Name ,
294- TTL : int (cfc .ResourceRecord .TTL ),
295- Proxied : & cfc .ResourceRecord .Proxied ,
296- Type : string (cfc .ResourceRecord .Type ),
297- Content : cfc .ResourceRecord .Content ,
298- Priority : & priority ,
299- Comment : cfc .ResourceRecord .Comment ,
288+ func getCreateDNSRecordParam (zoneID string , cfc * cloudFlareChange ) dns.RecordNewParams {
289+ return dns.RecordNewParams {
290+ ZoneID : cloudflare .F (zoneID ),
291+ Body : dns.RecordNewParamsBody {
292+ Name : cloudflare .F (cfc .ResourceRecord .Name ),
293+ TTL : cloudflare .F (cfc .ResourceRecord .TTL ),
294+ Proxied : cloudflare .F (cfc .ResourceRecord .Proxied ),
295+ Type : cloudflare .F (dns .RecordNewParamsBodyType (cfc .ResourceRecord .Type )),
296+ Content : cloudflare .F (cfc .ResourceRecord .Content ),
297+ Priority : cloudflare .F (cfc .ResourceRecord .Priority ),
298+ Comment : cloudflare .F (cfc .ResourceRecord .Comment ),
299+ },
300300 }
301-
302- return params
303301}
304302
305303func convertCloudflareError (err error ) error {
@@ -684,8 +682,8 @@ func (p *CloudFlareProvider) submitChanges(ctx context.Context, changes []*cloud
684682 failedChange = true
685683 }
686684 } else if change .Action == cloudFlareCreate {
687- recordParam := getCreateDNSRecordParam (* change )
688- _ , err := p .Client .CreateDNSRecord (ctx , resourceContainer , recordParam )
685+ recordParam := getCreateDNSRecordParam (zoneID , change )
686+ _ , err := p .Client .CreateDNSRecord (ctx , recordParam )
689687 if err != nil {
690688 failedChange = true
691689 log .WithFields (logFields ).Errorf ("failed to create record: %v" , err )
0 commit comments