@@ -28,11 +28,11 @@ import (
2828 "strconv"
2929 "strings"
3030
31- "github.com/cloudflare/cloudflare-go"
32- cloudflarev4 "github.com/cloudflare/cloudflare-go/v4 "
33- "github.com/cloudflare/cloudflare-go/v4 /addressing"
34- "github.com/cloudflare/cloudflare-go/v4 /option"
35- "github.com/cloudflare/cloudflare-go/v4 /zones"
31+ cloudflarev0 "github.com/cloudflare/cloudflare-go"
32+ "github.com/cloudflare/cloudflare-go/v5 "
33+ "github.com/cloudflare/cloudflare-go/v5 /addressing"
34+ "github.com/cloudflare/cloudflare-go/v5 /option"
35+ "github.com/cloudflare/cloudflare-go/v5 /zones"
3636 log "github.com/sirupsen/logrus"
3737 "golang.org/x/net/publicsuffix"
3838
@@ -75,14 +75,14 @@ type DNSRecordIndex struct {
7575 Content string
7676}
7777
78- type DNSRecordsMap map [DNSRecordIndex ]cloudflare .DNSRecord
78+ type DNSRecordsMap map [DNSRecordIndex ]cloudflarev0 .DNSRecord
7979
8080// for faster getCustomHostname() lookup
8181type CustomHostnameIndex struct {
8282 Hostname string
8383}
8484
85- type CustomHostnamesMap map [CustomHostnameIndex ]cloudflare .CustomHostname
85+ type CustomHostnamesMap map [CustomHostnameIndex ]cloudflarev0 .CustomHostname
8686
8787var recordTypeProxyNotSupported = map [string ]bool {
8888 "LOC" : true ,
@@ -109,28 +109,28 @@ type cloudFlareDNS interface {
109109 ZoneIDByName (zoneName string ) (string , error )
110110 ListZones (ctx context.Context , params zones.ZoneListParams ) autoPager [zones.Zone ]
111111 GetZone (ctx context.Context , zoneID string ) (* zones.Zone , error )
112- ListDNSRecords (ctx context.Context , rc * cloudflare .ResourceContainer , rp cloudflare .ListDNSRecordsParams ) ([]cloudflare .DNSRecord , * cloudflare .ResultInfo , error )
113- CreateDNSRecord (ctx context.Context , rc * cloudflare .ResourceContainer , rp cloudflare .CreateDNSRecordParams ) (cloudflare .DNSRecord , error )
114- DeleteDNSRecord (ctx context.Context , rc * cloudflare .ResourceContainer , recordID string ) error
115- UpdateDNSRecord (ctx context.Context , rc * cloudflare .ResourceContainer , rp cloudflare .UpdateDNSRecordParams ) error
112+ ListDNSRecords (ctx context.Context , rc * cloudflarev0 .ResourceContainer , rp cloudflarev0 .ListDNSRecordsParams ) ([]cloudflarev0 .DNSRecord , * cloudflarev0 .ResultInfo , error )
113+ CreateDNSRecord (ctx context.Context , rc * cloudflarev0 .ResourceContainer , rp cloudflarev0 .CreateDNSRecordParams ) (cloudflarev0 .DNSRecord , error )
114+ DeleteDNSRecord (ctx context.Context , rc * cloudflarev0 .ResourceContainer , recordID string ) error
115+ UpdateDNSRecord (ctx context.Context , rc * cloudflarev0 .ResourceContainer , rp cloudflarev0 .UpdateDNSRecordParams ) error
116116 ListDataLocalizationRegionalHostnames (ctx context.Context , params addressing.RegionalHostnameListParams ) autoPager [addressing.RegionalHostnameListResponse ]
117117 CreateDataLocalizationRegionalHostname (ctx context.Context , params addressing.RegionalHostnameNewParams ) error
118118 UpdateDataLocalizationRegionalHostname (ctx context.Context , hostname string , params addressing.RegionalHostnameEditParams ) error
119119 DeleteDataLocalizationRegionalHostname (ctx context.Context , hostname string , params addressing.RegionalHostnameDeleteParams ) error
120- CustomHostnames (ctx context.Context , zoneID string , page int , filter cloudflare .CustomHostname ) ([]cloudflare .CustomHostname , cloudflare .ResultInfo , error )
120+ CustomHostnames (ctx context.Context , zoneID string , page int , filter cloudflarev0 .CustomHostname ) ([]cloudflarev0 .CustomHostname , cloudflarev0 .ResultInfo , error )
121121 DeleteCustomHostname (ctx context.Context , zoneID string , customHostnameID string ) error
122- CreateCustomHostname (ctx context.Context , zoneID string , ch cloudflare .CustomHostname ) (* cloudflare .CustomHostnameResponse , error )
122+ CreateCustomHostname (ctx context.Context , zoneID string , ch cloudflarev0 .CustomHostname ) (* cloudflarev0 .CustomHostnameResponse , error )
123123}
124124
125125type zoneService struct {
126- service * cloudflare .API
127- serviceV4 * cloudflarev4 .Client
126+ service * cloudflarev0 .API
127+ serviceV4 * cloudflare .Client
128128}
129129
130130func (z zoneService ) ZoneIDByName (zoneName string ) (string , error ) {
131131 // Use v4 API to find zone by name
132132 params := zones.ZoneListParams {
133- Name : cloudflarev4 .F (zoneName ),
133+ Name : cloudflare .F (zoneName ),
134134 }
135135
136136 iter := z .serviceV4 .Zones .ListAutoPaging (context .Background (), params )
@@ -147,20 +147,20 @@ func (z zoneService) ZoneIDByName(zoneName string) (string, error) {
147147 return "" , fmt .Errorf ("zone %q not found in CloudFlare account - verify the zone exists and API credentials have access to it" , zoneName )
148148}
149149
150- func (z zoneService ) CreateDNSRecord (ctx context.Context , rc * cloudflare .ResourceContainer , rp cloudflare .CreateDNSRecordParams ) (cloudflare .DNSRecord , error ) {
150+ func (z zoneService ) CreateDNSRecord (ctx context.Context , rc * cloudflarev0 .ResourceContainer , rp cloudflarev0 .CreateDNSRecordParams ) (cloudflarev0 .DNSRecord , error ) {
151151 return z .service .CreateDNSRecord (ctx , rc , rp )
152152}
153153
154- func (z zoneService ) ListDNSRecords (ctx context.Context , rc * cloudflare .ResourceContainer , rp cloudflare .ListDNSRecordsParams ) ([]cloudflare .DNSRecord , * cloudflare .ResultInfo , error ) {
154+ func (z zoneService ) ListDNSRecords (ctx context.Context , rc * cloudflarev0 .ResourceContainer , rp cloudflarev0 .ListDNSRecordsParams ) ([]cloudflarev0 .DNSRecord , * cloudflarev0 .ResultInfo , error ) {
155155 return z .service .ListDNSRecords (ctx , rc , rp )
156156}
157157
158- func (z zoneService ) UpdateDNSRecord (ctx context.Context , rc * cloudflare .ResourceContainer , rp cloudflare .UpdateDNSRecordParams ) error {
158+ func (z zoneService ) UpdateDNSRecord (ctx context.Context , rc * cloudflarev0 .ResourceContainer , rp cloudflarev0 .UpdateDNSRecordParams ) error {
159159 _ , err := z .service .UpdateDNSRecord (ctx , rc , rp )
160160 return err
161161}
162162
163- func (z zoneService ) DeleteDNSRecord (ctx context.Context , rc * cloudflare .ResourceContainer , recordID string ) error {
163+ func (z zoneService ) DeleteDNSRecord (ctx context.Context , rc * cloudflarev0 .ResourceContainer , recordID string ) error {
164164 return z .service .DeleteDNSRecord (ctx , rc , recordID )
165165}
166166
@@ -169,18 +169,18 @@ func (z zoneService) ListZones(ctx context.Context, params zones.ZoneListParams)
169169}
170170
171171func (z zoneService ) GetZone (ctx context.Context , zoneID string ) (* zones.Zone , error ) {
172- return z .serviceV4 .Zones .Get (ctx , zones.ZoneGetParams {ZoneID : cloudflarev4 .F (zoneID )})
172+ return z .serviceV4 .Zones .Get (ctx , zones.ZoneGetParams {ZoneID : cloudflare .F (zoneID )})
173173}
174174
175- func (z zoneService ) CustomHostnames (ctx context.Context , zoneID string , page int , filter cloudflare .CustomHostname ) ([]cloudflare .CustomHostname , cloudflare .ResultInfo , error ) {
175+ func (z zoneService ) CustomHostnames (ctx context.Context , zoneID string , page int , filter cloudflarev0 .CustomHostname ) ([]cloudflarev0 .CustomHostname , cloudflarev0 .ResultInfo , error ) {
176176 return z .service .CustomHostnames (ctx , zoneID , page , filter )
177177}
178178
179179func (z zoneService ) DeleteCustomHostname (ctx context.Context , zoneID string , customHostnameID string ) error {
180180 return z .service .DeleteCustomHostname (ctx , zoneID , customHostnameID )
181181}
182182
183- func (z zoneService ) CreateCustomHostname (ctx context.Context , zoneID string , ch cloudflare .CustomHostname ) (* cloudflare .CustomHostnameResponse , error ) {
183+ func (z zoneService ) CreateCustomHostname (ctx context.Context , zoneID string , ch cloudflarev0 .CustomHostname ) (* cloudflarev0 .CustomHostnameResponse , error ) {
184184 return z .service .CreateCustomHostname (ctx , zoneID , ch )
185185}
186186
@@ -250,35 +250,35 @@ type CloudFlareProvider struct {
250250// cloudFlareChange differentiates between ChangeActions
251251type cloudFlareChange struct {
252252 Action changeAction
253- ResourceRecord cloudflare .DNSRecord
253+ ResourceRecord cloudflarev0 .DNSRecord
254254 RegionalHostname regionalHostname
255- CustomHostnames map [string ]cloudflare .CustomHostname
255+ CustomHostnames map [string ]cloudflarev0 .CustomHostname
256256 CustomHostnamesPrev []string
257257}
258258
259259// RecordParamsTypes is a typeset of the possible Record Params that can be passed to cloudflare-go library
260260type RecordParamsTypes interface {
261- cloudflare .UpdateDNSRecordParams | cloudflare .CreateDNSRecordParams
261+ cloudflarev0 .UpdateDNSRecordParams | cloudflarev0 .CreateDNSRecordParams
262262}
263263
264264// updateDNSRecordParam is a function that returns the appropriate Record Param based on the cloudFlareChange passed in
265- func updateDNSRecordParam (cfc cloudFlareChange ) cloudflare .UpdateDNSRecordParams {
266- params := cloudflare .UpdateDNSRecordParams {
265+ func updateDNSRecordParam (cfc cloudFlareChange ) cloudflarev0 .UpdateDNSRecordParams {
266+ params := cloudflarev0 .UpdateDNSRecordParams {
267267 Name : cfc .ResourceRecord .Name ,
268268 TTL : cfc .ResourceRecord .TTL ,
269269 Proxied : cfc .ResourceRecord .Proxied ,
270270 Type : cfc .ResourceRecord .Type ,
271271 Content : cfc .ResourceRecord .Content ,
272272 Priority : cfc .ResourceRecord .Priority ,
273- Comment : cloudflare .StringPtr (cfc .ResourceRecord .Comment ),
273+ Comment : cloudflarev0 .StringPtr (cfc .ResourceRecord .Comment ),
274274 }
275275
276276 return params
277277}
278278
279279// getCreateDNSRecordParam is a function that returns the appropriate Record Param based on the cloudFlareChange passed in
280- func getCreateDNSRecordParam (cfc cloudFlareChange ) cloudflare .CreateDNSRecordParams {
281- params := cloudflare .CreateDNSRecordParams {
280+ func getCreateDNSRecordParam (cfc cloudFlareChange ) cloudflarev0 .CreateDNSRecordParams {
281+ params := cloudflarev0 .CreateDNSRecordParams {
282282 Name : cfc .ResourceRecord .Name ,
283283 TTL : cfc .ResourceRecord .TTL ,
284284 Proxied : cfc .ResourceRecord .Proxied ,
@@ -292,7 +292,7 @@ func getCreateDNSRecordParam(cfc cloudFlareChange) cloudflare.CreateDNSRecordPar
292292}
293293
294294func convertCloudflareError (err error ) error {
295- var apiErr * cloudflare .Error
295+ var apiErr * cloudflarev0 .Error
296296 if errors .As (err , & apiErr ) {
297297 if apiErr .ClientRateLimited () || apiErr .StatusCode >= http .StatusInternalServerError {
298298 // Handle rate limit error as a soft error
@@ -320,8 +320,8 @@ func NewCloudFlareProvider(
320320) (* CloudFlareProvider , error ) {
321321 // initialize via chosen auth method and returns new API object
322322 var (
323- config * cloudflare .API
324- configV4 * cloudflarev4 .Client
323+ config * cloudflarev0 .API
324+ configV4 * cloudflare .Client
325325 err error
326326 )
327327 if os .Getenv ("CF_API_TOKEN" ) != "" {
@@ -333,13 +333,13 @@ func NewCloudFlareProvider(
333333 }
334334 token = strings .TrimSpace (string (tokenBytes ))
335335 }
336- config , err = cloudflare .NewWithAPIToken (token )
337- configV4 = cloudflarev4 .NewClient (
336+ config , err = cloudflarev0 .NewWithAPIToken (token )
337+ configV4 = cloudflare .NewClient (
338338 option .WithAPIToken (token ),
339339 )
340340 } else {
341- config , err = cloudflare .New (os .Getenv ("CF_API_KEY" ), os .Getenv ("CF_API_EMAIL" ))
342- configV4 = cloudflarev4 .NewClient (
341+ config , err = cloudflarev0 .New (os .Getenv ("CF_API_KEY" ), os .Getenv ("CF_API_EMAIL" ))
342+ configV4 = cloudflare .NewClient (
343343 option .WithAPIKey (os .Getenv ("CF_API_KEY" )),
344344 option .WithAPIEmail (os .Getenv ("CF_API_EMAIL" )),
345345 )
@@ -617,7 +617,7 @@ func (p *CloudFlareProvider) submitChanges(ctx context.Context, changes []*cloud
617617 var failedZones []string
618618 for zoneID , zoneChanges := range changesByZone {
619619 var failedChange bool
620- resourceContainer := cloudflare .ZoneIdentifier (zoneID )
620+ resourceContainer := cloudflarev0 .ZoneIdentifier (zoneID )
621621
622622 for _ , change := range zoneChanges {
623623 logFields := log.Fields {
@@ -769,25 +769,25 @@ func (p *CloudFlareProvider) changesByZone(zones []zones.Zone, changeSet []*clou
769769 return changes
770770}
771771
772- func (p * CloudFlareProvider ) getRecordID (records DNSRecordsMap , record cloudflare .DNSRecord ) string {
772+ func (p * CloudFlareProvider ) getRecordID (records DNSRecordsMap , record cloudflarev0 .DNSRecord ) string {
773773 if zoneRecord , ok := records [DNSRecordIndex {Name : record .Name , Type : record .Type , Content : record .Content }]; ok {
774774 return zoneRecord .ID
775775 }
776776 return ""
777777}
778778
779- func getCustomHostname (chs CustomHostnamesMap , chName string ) (cloudflare .CustomHostname , error ) {
779+ func getCustomHostname (chs CustomHostnamesMap , chName string ) (cloudflarev0 .CustomHostname , error ) {
780780 if chName == "" {
781- return cloudflare .CustomHostname {}, fmt .Errorf ("failed to get custom hostname: %q is empty" , chName )
781+ return cloudflarev0 .CustomHostname {}, fmt .Errorf ("failed to get custom hostname: %q is empty" , chName )
782782 }
783783 if ch , ok := chs [CustomHostnameIndex {Hostname : chName }]; ok {
784784 return ch , nil
785785 }
786- return cloudflare .CustomHostname {}, fmt .Errorf ("failed to get custom hostname: %q not found" , chName )
786+ return cloudflarev0 .CustomHostname {}, fmt .Errorf ("failed to get custom hostname: %q not found" , chName )
787787}
788788
789- func (p * CloudFlareProvider ) newCustomHostname (customHostname string , origin string ) cloudflare .CustomHostname {
790- return cloudflare .CustomHostname {
789+ func (p * CloudFlareProvider ) newCustomHostname (customHostname string , origin string ) cloudflarev0 .CustomHostname {
790+ return cloudflarev0 .CustomHostname {
791791 Hostname : customHostname ,
792792 CustomOriginServer : origin ,
793793 SSL : getCustomHostnamesSSLOptions (p .CustomHostnamesConfig ),
@@ -803,7 +803,7 @@ func (p *CloudFlareProvider) newCloudFlareChange(action changeAction, ep *endpoi
803803 }
804804
805805 prevCustomHostnames := []string {}
806- newCustomHostnames := map [string ]cloudflare .CustomHostname {}
806+ newCustomHostnames := map [string ]cloudflarev0 .CustomHostname {}
807807 if p .CustomHostnamesConfig .Enabled {
808808 if current != nil {
809809 prevCustomHostnames = getEndpointCustomHostnames (current )
@@ -837,7 +837,7 @@ func (p *CloudFlareProvider) newCloudFlareChange(action changeAction, ep *endpoi
837837
838838 return & cloudFlareChange {
839839 Action : action ,
840- ResourceRecord : cloudflare .DNSRecord {
840+ ResourceRecord : cloudflarev0 .DNSRecord {
841841 Name : ep .DNSName ,
842842 TTL : ttl ,
843843 // We have to use pointers to bools now, as the upstream cloudflare-go library requires them
@@ -854,18 +854,18 @@ func (p *CloudFlareProvider) newCloudFlareChange(action changeAction, ep *endpoi
854854 }, nil
855855}
856856
857- func newDNSRecordIndex (r cloudflare .DNSRecord ) DNSRecordIndex {
857+ func newDNSRecordIndex (r cloudflarev0 .DNSRecord ) DNSRecordIndex {
858858 return DNSRecordIndex {Name : r .Name , Type : r .Type , Content : r .Content }
859859}
860860
861861// listDNSRecordsWithAutoPagination performs automatic pagination of results on requests to cloudflare.ListDNSRecords with custom per_page values
862862func (p * CloudFlareProvider ) listDNSRecordsWithAutoPagination (ctx context.Context , zoneID string ) (DNSRecordsMap , error ) {
863863 // for faster getRecordID lookup
864864 records := make (DNSRecordsMap )
865- resultInfo := cloudflare .ResultInfo {PerPage : p .DNSRecordsConfig .PerPage , Page : 1 }
866- params := cloudflare .ListDNSRecordsParams {ResultInfo : resultInfo }
865+ resultInfo := cloudflarev0 .ResultInfo {PerPage : p .DNSRecordsConfig .PerPage , Page : 1 }
866+ params := cloudflarev0 .ListDNSRecordsParams {ResultInfo : resultInfo }
867867 for {
868- pageRecords , resultInfo , err := p .Client .ListDNSRecords (ctx , cloudflare .ZoneIdentifier (zoneID ), params )
868+ pageRecords , resultInfo , err := p .Client .ListDNSRecords (ctx , cloudflarev0 .ZoneIdentifier (zoneID ), params )
869869 if err != nil {
870870 return nil , convertCloudflareError (err )
871871 }
@@ -881,7 +881,7 @@ func (p *CloudFlareProvider) listDNSRecordsWithAutoPagination(ctx context.Contex
881881 return records , nil
882882}
883883
884- func newCustomHostnameIndex (ch cloudflare .CustomHostname ) CustomHostnameIndex {
884+ func newCustomHostnameIndex (ch cloudflarev0 .CustomHostname ) CustomHostnameIndex {
885885 return CustomHostnameIndex {Hostname : ch .Hostname }
886886}
887887
@@ -891,9 +891,9 @@ func (p *CloudFlareProvider) listCustomHostnamesWithPagination(ctx context.Conte
891891 return nil , nil
892892 }
893893 chs := make (CustomHostnamesMap )
894- resultInfo := cloudflare .ResultInfo {Page : 1 }
894+ resultInfo := cloudflarev0 .ResultInfo {Page : 1 }
895895 for {
896- pageCustomHostnameListResponse , result , err := p .Client .CustomHostnames (ctx , zoneID , resultInfo .Page , cloudflare .CustomHostname {})
896+ pageCustomHostnameListResponse , result , err := p .Client .CustomHostnames (ctx , zoneID , resultInfo .Page , cloudflarev0 .CustomHostname {})
897897 if err != nil {
898898 convertedError := convertCloudflareError (err )
899899 if ! errors .Is (convertedError , provider .SoftError ) {
@@ -912,12 +912,12 @@ func (p *CloudFlareProvider) listCustomHostnamesWithPagination(ctx context.Conte
912912 return chs , nil
913913}
914914
915- func getCustomHostnamesSSLOptions (customHostnamesConfig CustomHostnamesConfig ) * cloudflare .CustomHostnameSSL {
916- ssl := & cloudflare .CustomHostnameSSL {
915+ func getCustomHostnamesSSLOptions (customHostnamesConfig CustomHostnamesConfig ) * cloudflarev0 .CustomHostnameSSL {
916+ ssl := & cloudflarev0 .CustomHostnameSSL {
917917 Type : "dv" ,
918918 Method : "http" ,
919919 BundleMethod : "ubiquitous" ,
920- Settings : cloudflare .CustomHostnameSSLSettings {
920+ Settings : cloudflarev0 .CustomHostnameSSLSettings {
921921 MinTLSVersion : customHostnamesConfig .MinTLSVersion ,
922922 },
923923 }
@@ -964,7 +964,7 @@ func (p *CloudFlareProvider) groupByNameAndTypeWithCustomHostnames(records DNSRe
964964 var endpoints []* endpoint.Endpoint
965965
966966 // group supported records by name and type
967- groups := map [string ][]cloudflare .DNSRecord {}
967+ groups := map [string ][]cloudflarev0 .DNSRecord {}
968968
969969 for _ , r := range records {
970970 if ! p .SupportedAdditionalRecordTypes (r .Type ) {
@@ -973,7 +973,7 @@ func (p *CloudFlareProvider) groupByNameAndTypeWithCustomHostnames(records DNSRe
973973
974974 groupBy := r .Name + r .Type
975975 if _ , ok := groups [groupBy ]; ! ok {
976- groups [groupBy ] = []cloudflare .DNSRecord {}
976+ groups [groupBy ] = []cloudflarev0 .DNSRecord {}
977977 }
978978
979979 groups [groupBy ] = append (groups [groupBy ], r )
0 commit comments