acmedns.go 33 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103
  1. package acmedns
  2. /*
  3. THIS MODULE IS GENERATED AUTOMATICALLY
  4. DO NOT EDIT THIS FILE
  5. */
  6. import (
  7. "encoding/json"
  8. "fmt"
  9. "time"
  10. "github.com/go-acme/lego/v4/challenge"
  11. "github.com/go-acme/lego/v4/providers/dns/alidns"
  12. "github.com/go-acme/lego/v4/providers/dns/allinkl"
  13. "github.com/go-acme/lego/v4/providers/dns/arvancloud"
  14. "github.com/go-acme/lego/v4/providers/dns/auroradns"
  15. "github.com/go-acme/lego/v4/providers/dns/autodns"
  16. "github.com/go-acme/lego/v4/providers/dns/azure"
  17. "github.com/go-acme/lego/v4/providers/dns/azuredns"
  18. "github.com/go-acme/lego/v4/providers/dns/bindman"
  19. "github.com/go-acme/lego/v4/providers/dns/bluecat"
  20. "github.com/go-acme/lego/v4/providers/dns/brandit"
  21. "github.com/go-acme/lego/v4/providers/dns/bunny"
  22. "github.com/go-acme/lego/v4/providers/dns/checkdomain"
  23. "github.com/go-acme/lego/v4/providers/dns/civo"
  24. "github.com/go-acme/lego/v4/providers/dns/clouddns"
  25. "github.com/go-acme/lego/v4/providers/dns/cloudflare"
  26. "github.com/go-acme/lego/v4/providers/dns/cloudns"
  27. "github.com/go-acme/lego/v4/providers/dns/cloudru"
  28. "github.com/go-acme/lego/v4/providers/dns/cloudxns"
  29. "github.com/go-acme/lego/v4/providers/dns/conoha"
  30. "github.com/go-acme/lego/v4/providers/dns/constellix"
  31. "github.com/go-acme/lego/v4/providers/dns/cpanel"
  32. "github.com/go-acme/lego/v4/providers/dns/derak"
  33. "github.com/go-acme/lego/v4/providers/dns/desec"
  34. "github.com/go-acme/lego/v4/providers/dns/digitalocean"
  35. "github.com/go-acme/lego/v4/providers/dns/dnshomede"
  36. "github.com/go-acme/lego/v4/providers/dns/dnsimple"
  37. "github.com/go-acme/lego/v4/providers/dns/dnsmadeeasy"
  38. "github.com/go-acme/lego/v4/providers/dns/dnspod"
  39. "github.com/go-acme/lego/v4/providers/dns/dode"
  40. "github.com/go-acme/lego/v4/providers/dns/domeneshop"
  41. "github.com/go-acme/lego/v4/providers/dns/dreamhost"
  42. "github.com/go-acme/lego/v4/providers/dns/duckdns"
  43. "github.com/go-acme/lego/v4/providers/dns/dyn"
  44. "github.com/go-acme/lego/v4/providers/dns/dynu"
  45. "github.com/go-acme/lego/v4/providers/dns/easydns"
  46. "github.com/go-acme/lego/v4/providers/dns/efficientip"
  47. "github.com/go-acme/lego/v4/providers/dns/epik"
  48. "github.com/go-acme/lego/v4/providers/dns/exoscale"
  49. "github.com/go-acme/lego/v4/providers/dns/freemyip"
  50. "github.com/go-acme/lego/v4/providers/dns/gandi"
  51. "github.com/go-acme/lego/v4/providers/dns/gandiv5"
  52. "github.com/go-acme/lego/v4/providers/dns/gcore"
  53. "github.com/go-acme/lego/v4/providers/dns/glesys"
  54. "github.com/go-acme/lego/v4/providers/dns/godaddy"
  55. "github.com/go-acme/lego/v4/providers/dns/googledomains"
  56. "github.com/go-acme/lego/v4/providers/dns/hetzner"
  57. "github.com/go-acme/lego/v4/providers/dns/hostingde"
  58. "github.com/go-acme/lego/v4/providers/dns/hosttech"
  59. "github.com/go-acme/lego/v4/providers/dns/httpnet"
  60. "github.com/go-acme/lego/v4/providers/dns/hyperone"
  61. "github.com/go-acme/lego/v4/providers/dns/ibmcloud"
  62. "github.com/go-acme/lego/v4/providers/dns/iij"
  63. "github.com/go-acme/lego/v4/providers/dns/iijdpf"
  64. "github.com/go-acme/lego/v4/providers/dns/infoblox"
  65. "github.com/go-acme/lego/v4/providers/dns/infomaniak"
  66. "github.com/go-acme/lego/v4/providers/dns/internetbs"
  67. "github.com/go-acme/lego/v4/providers/dns/inwx"
  68. "github.com/go-acme/lego/v4/providers/dns/ionos"
  69. "github.com/go-acme/lego/v4/providers/dns/ipv64"
  70. "github.com/go-acme/lego/v4/providers/dns/iwantmyname"
  71. "github.com/go-acme/lego/v4/providers/dns/joker"
  72. "github.com/go-acme/lego/v4/providers/dns/liara"
  73. "github.com/go-acme/lego/v4/providers/dns/lightsail"
  74. "github.com/go-acme/lego/v4/providers/dns/linode"
  75. "github.com/go-acme/lego/v4/providers/dns/liquidweb"
  76. "github.com/go-acme/lego/v4/providers/dns/loopia"
  77. "github.com/go-acme/lego/v4/providers/dns/luadns"
  78. "github.com/go-acme/lego/v4/providers/dns/mailinabox"
  79. "github.com/go-acme/lego/v4/providers/dns/metaname"
  80. "github.com/go-acme/lego/v4/providers/dns/mydnsjp"
  81. "github.com/go-acme/lego/v4/providers/dns/namecheap"
  82. "github.com/go-acme/lego/v4/providers/dns/namedotcom"
  83. "github.com/go-acme/lego/v4/providers/dns/namesilo"
  84. "github.com/go-acme/lego/v4/providers/dns/nearlyfreespeech"
  85. "github.com/go-acme/lego/v4/providers/dns/netcup"
  86. "github.com/go-acme/lego/v4/providers/dns/netlify"
  87. "github.com/go-acme/lego/v4/providers/dns/nicmanager"
  88. "github.com/go-acme/lego/v4/providers/dns/nifcloud"
  89. "github.com/go-acme/lego/v4/providers/dns/njalla"
  90. "github.com/go-acme/lego/v4/providers/dns/nodion"
  91. "github.com/go-acme/lego/v4/providers/dns/ns1"
  92. "github.com/go-acme/lego/v4/providers/dns/otc"
  93. "github.com/go-acme/lego/v4/providers/dns/ovh"
  94. "github.com/go-acme/lego/v4/providers/dns/pdns"
  95. "github.com/go-acme/lego/v4/providers/dns/plesk"
  96. "github.com/go-acme/lego/v4/providers/dns/porkbun"
  97. "github.com/go-acme/lego/v4/providers/dns/rackspace"
  98. "github.com/go-acme/lego/v4/providers/dns/rcodezero"
  99. "github.com/go-acme/lego/v4/providers/dns/regru"
  100. "github.com/go-acme/lego/v4/providers/dns/rfc2136"
  101. "github.com/go-acme/lego/v4/providers/dns/rimuhosting"
  102. "github.com/go-acme/lego/v4/providers/dns/route53"
  103. "github.com/go-acme/lego/v4/providers/dns/safedns"
  104. "github.com/go-acme/lego/v4/providers/dns/sakuracloud"
  105. "github.com/go-acme/lego/v4/providers/dns/scaleway"
  106. "github.com/go-acme/lego/v4/providers/dns/selectel"
  107. "github.com/go-acme/lego/v4/providers/dns/servercow"
  108. "github.com/go-acme/lego/v4/providers/dns/shellrent"
  109. "github.com/go-acme/lego/v4/providers/dns/simply"
  110. "github.com/go-acme/lego/v4/providers/dns/sonic"
  111. "github.com/go-acme/lego/v4/providers/dns/stackpath"
  112. "github.com/go-acme/lego/v4/providers/dns/tencentcloud"
  113. "github.com/go-acme/lego/v4/providers/dns/transip"
  114. "github.com/go-acme/lego/v4/providers/dns/ultradns"
  115. "github.com/go-acme/lego/v4/providers/dns/variomedia"
  116. "github.com/go-acme/lego/v4/providers/dns/vegadns"
  117. "github.com/go-acme/lego/v4/providers/dns/vercel"
  118. "github.com/go-acme/lego/v4/providers/dns/versio"
  119. "github.com/go-acme/lego/v4/providers/dns/vinyldns"
  120. "github.com/go-acme/lego/v4/providers/dns/vkcloud"
  121. "github.com/go-acme/lego/v4/providers/dns/vscale"
  122. "github.com/go-acme/lego/v4/providers/dns/vultr"
  123. "github.com/go-acme/lego/v4/providers/dns/webnames"
  124. "github.com/go-acme/lego/v4/providers/dns/websupport"
  125. "github.com/go-acme/lego/v4/providers/dns/wedos"
  126. "github.com/go-acme/lego/v4/providers/dns/yandex"
  127. "github.com/go-acme/lego/v4/providers/dns/yandex360"
  128. "github.com/go-acme/lego/v4/providers/dns/yandexcloud"
  129. "github.com/go-acme/lego/v4/providers/dns/zoneee"
  130. "github.com/go-acme/lego/v4/providers/dns/zonomi"
  131. )
  132. //name is the DNS provider name, e.g. cloudflare or gandi
  133. //JSON (js) must be in key-value string that match ConfigableFields Title in providers.json, e.g. {"Username":"far","Password":"boo"}
  134. func GetDNSProviderByJsonConfig(name string, js string)(challenge.Provider, error){
  135. switch name {
  136. case "alidns":
  137. cfg := alidns.NewDefaultConfig()
  138. err := json.Unmarshal([]byte(js), &cfg)
  139. if err != nil {
  140. return nil, err
  141. }
  142. cfg.PropagationTimeout = 5*time.Minute
  143. return alidns.NewDNSProviderConfig(cfg)
  144. case "allinkl":
  145. cfg := allinkl.NewDefaultConfig()
  146. err := json.Unmarshal([]byte(js), &cfg)
  147. if err != nil {
  148. return nil, err
  149. }
  150. cfg.PropagationTimeout = 5*time.Minute
  151. return allinkl.NewDNSProviderConfig(cfg)
  152. case "arvancloud":
  153. cfg := arvancloud.NewDefaultConfig()
  154. err := json.Unmarshal([]byte(js), &cfg)
  155. if err != nil {
  156. return nil, err
  157. }
  158. cfg.PropagationTimeout = 5*time.Minute
  159. return arvancloud.NewDNSProviderConfig(cfg)
  160. case "auroradns":
  161. cfg := auroradns.NewDefaultConfig()
  162. err := json.Unmarshal([]byte(js), &cfg)
  163. if err != nil {
  164. return nil, err
  165. }
  166. cfg.PropagationTimeout = 5*time.Minute
  167. return auroradns.NewDNSProviderConfig(cfg)
  168. case "autodns":
  169. cfg := autodns.NewDefaultConfig()
  170. err := json.Unmarshal([]byte(js), &cfg)
  171. if err != nil {
  172. return nil, err
  173. }
  174. cfg.PropagationTimeout = 5*time.Minute
  175. return autodns.NewDNSProviderConfig(cfg)
  176. case "azure":
  177. cfg := azure.NewDefaultConfig()
  178. err := json.Unmarshal([]byte(js), &cfg)
  179. if err != nil {
  180. return nil, err
  181. }
  182. cfg.PropagationTimeout = 5*time.Minute
  183. return azure.NewDNSProviderConfig(cfg)
  184. case "azuredns":
  185. cfg := azuredns.NewDefaultConfig()
  186. err := json.Unmarshal([]byte(js), &cfg)
  187. if err != nil {
  188. return nil, err
  189. }
  190. cfg.PropagationTimeout = 5*time.Minute
  191. return azuredns.NewDNSProviderConfig(cfg)
  192. case "bindman":
  193. cfg := bindman.NewDefaultConfig()
  194. err := json.Unmarshal([]byte(js), &cfg)
  195. if err != nil {
  196. return nil, err
  197. }
  198. cfg.PropagationTimeout = 5*time.Minute
  199. return bindman.NewDNSProviderConfig(cfg)
  200. case "bluecat":
  201. cfg := bluecat.NewDefaultConfig()
  202. err := json.Unmarshal([]byte(js), &cfg)
  203. if err != nil {
  204. return nil, err
  205. }
  206. cfg.PropagationTimeout = 5*time.Minute
  207. return bluecat.NewDNSProviderConfig(cfg)
  208. case "brandit":
  209. cfg := brandit.NewDefaultConfig()
  210. err := json.Unmarshal([]byte(js), &cfg)
  211. if err != nil {
  212. return nil, err
  213. }
  214. cfg.PropagationTimeout = 5*time.Minute
  215. return brandit.NewDNSProviderConfig(cfg)
  216. case "bunny":
  217. cfg := bunny.NewDefaultConfig()
  218. err := json.Unmarshal([]byte(js), &cfg)
  219. if err != nil {
  220. return nil, err
  221. }
  222. cfg.PropagationTimeout = 5*time.Minute
  223. return bunny.NewDNSProviderConfig(cfg)
  224. case "checkdomain":
  225. cfg := checkdomain.NewDefaultConfig()
  226. err := json.Unmarshal([]byte(js), &cfg)
  227. if err != nil {
  228. return nil, err
  229. }
  230. cfg.PropagationTimeout = 5*time.Minute
  231. return checkdomain.NewDNSProviderConfig(cfg)
  232. case "civo":
  233. cfg := civo.NewDefaultConfig()
  234. err := json.Unmarshal([]byte(js), &cfg)
  235. if err != nil {
  236. return nil, err
  237. }
  238. cfg.PropagationTimeout = 5*time.Minute
  239. return civo.NewDNSProviderConfig(cfg)
  240. case "clouddns":
  241. cfg := clouddns.NewDefaultConfig()
  242. err := json.Unmarshal([]byte(js), &cfg)
  243. if err != nil {
  244. return nil, err
  245. }
  246. cfg.PropagationTimeout = 5*time.Minute
  247. return clouddns.NewDNSProviderConfig(cfg)
  248. case "cloudflare":
  249. cfg := cloudflare.NewDefaultConfig()
  250. err := json.Unmarshal([]byte(js), &cfg)
  251. if err != nil {
  252. return nil, err
  253. }
  254. cfg.PropagationTimeout = 5*time.Minute
  255. return cloudflare.NewDNSProviderConfig(cfg)
  256. case "cloudns":
  257. cfg := cloudns.NewDefaultConfig()
  258. err := json.Unmarshal([]byte(js), &cfg)
  259. if err != nil {
  260. return nil, err
  261. }
  262. cfg.PropagationTimeout = 5*time.Minute
  263. return cloudns.NewDNSProviderConfig(cfg)
  264. case "cloudru":
  265. cfg := cloudru.NewDefaultConfig()
  266. err := json.Unmarshal([]byte(js), &cfg)
  267. if err != nil {
  268. return nil, err
  269. }
  270. cfg.PropagationTimeout = 5*time.Minute
  271. return cloudru.NewDNSProviderConfig(cfg)
  272. case "cloudxns":
  273. cfg := cloudxns.NewDefaultConfig()
  274. err := json.Unmarshal([]byte(js), &cfg)
  275. if err != nil {
  276. return nil, err
  277. }
  278. cfg.PropagationTimeout = 5*time.Minute
  279. return cloudxns.NewDNSProviderConfig(cfg)
  280. case "conoha":
  281. cfg := conoha.NewDefaultConfig()
  282. err := json.Unmarshal([]byte(js), &cfg)
  283. if err != nil {
  284. return nil, err
  285. }
  286. cfg.PropagationTimeout = 5*time.Minute
  287. return conoha.NewDNSProviderConfig(cfg)
  288. case "constellix":
  289. cfg := constellix.NewDefaultConfig()
  290. err := json.Unmarshal([]byte(js), &cfg)
  291. if err != nil {
  292. return nil, err
  293. }
  294. cfg.PropagationTimeout = 5*time.Minute
  295. return constellix.NewDNSProviderConfig(cfg)
  296. case "cpanel":
  297. cfg := cpanel.NewDefaultConfig()
  298. err := json.Unmarshal([]byte(js), &cfg)
  299. if err != nil {
  300. return nil, err
  301. }
  302. cfg.PropagationTimeout = 5*time.Minute
  303. return cpanel.NewDNSProviderConfig(cfg)
  304. case "derak":
  305. cfg := derak.NewDefaultConfig()
  306. err := json.Unmarshal([]byte(js), &cfg)
  307. if err != nil {
  308. return nil, err
  309. }
  310. cfg.PropagationTimeout = 5*time.Minute
  311. return derak.NewDNSProviderConfig(cfg)
  312. case "desec":
  313. cfg := desec.NewDefaultConfig()
  314. err := json.Unmarshal([]byte(js), &cfg)
  315. if err != nil {
  316. return nil, err
  317. }
  318. cfg.PropagationTimeout = 5*time.Minute
  319. return desec.NewDNSProviderConfig(cfg)
  320. case "digitalocean":
  321. cfg := digitalocean.NewDefaultConfig()
  322. err := json.Unmarshal([]byte(js), &cfg)
  323. if err != nil {
  324. return nil, err
  325. }
  326. cfg.PropagationTimeout = 5*time.Minute
  327. return digitalocean.NewDNSProviderConfig(cfg)
  328. case "dnshomede":
  329. cfg := dnshomede.NewDefaultConfig()
  330. err := json.Unmarshal([]byte(js), &cfg)
  331. if err != nil {
  332. return nil, err
  333. }
  334. cfg.PropagationTimeout = 5*time.Minute
  335. return dnshomede.NewDNSProviderConfig(cfg)
  336. case "dnsimple":
  337. cfg := dnsimple.NewDefaultConfig()
  338. err := json.Unmarshal([]byte(js), &cfg)
  339. if err != nil {
  340. return nil, err
  341. }
  342. cfg.PropagationTimeout = 5*time.Minute
  343. return dnsimple.NewDNSProviderConfig(cfg)
  344. case "dnsmadeeasy":
  345. cfg := dnsmadeeasy.NewDefaultConfig()
  346. err := json.Unmarshal([]byte(js), &cfg)
  347. if err != nil {
  348. return nil, err
  349. }
  350. cfg.PropagationTimeout = 5*time.Minute
  351. return dnsmadeeasy.NewDNSProviderConfig(cfg)
  352. case "dnspod":
  353. cfg := dnspod.NewDefaultConfig()
  354. err := json.Unmarshal([]byte(js), &cfg)
  355. if err != nil {
  356. return nil, err
  357. }
  358. cfg.PropagationTimeout = 5*time.Minute
  359. return dnspod.NewDNSProviderConfig(cfg)
  360. case "dode":
  361. cfg := dode.NewDefaultConfig()
  362. err := json.Unmarshal([]byte(js), &cfg)
  363. if err != nil {
  364. return nil, err
  365. }
  366. cfg.PropagationTimeout = 5*time.Minute
  367. return dode.NewDNSProviderConfig(cfg)
  368. case "domeneshop":
  369. cfg := domeneshop.NewDefaultConfig()
  370. err := json.Unmarshal([]byte(js), &cfg)
  371. if err != nil {
  372. return nil, err
  373. }
  374. cfg.PropagationTimeout = 5*time.Minute
  375. return domeneshop.NewDNSProviderConfig(cfg)
  376. case "dreamhost":
  377. cfg := dreamhost.NewDefaultConfig()
  378. err := json.Unmarshal([]byte(js), &cfg)
  379. if err != nil {
  380. return nil, err
  381. }
  382. cfg.PropagationTimeout = 5*time.Minute
  383. return dreamhost.NewDNSProviderConfig(cfg)
  384. case "duckdns":
  385. cfg := duckdns.NewDefaultConfig()
  386. err := json.Unmarshal([]byte(js), &cfg)
  387. if err != nil {
  388. return nil, err
  389. }
  390. cfg.PropagationTimeout = 5*time.Minute
  391. return duckdns.NewDNSProviderConfig(cfg)
  392. case "dyn":
  393. cfg := dyn.NewDefaultConfig()
  394. err := json.Unmarshal([]byte(js), &cfg)
  395. if err != nil {
  396. return nil, err
  397. }
  398. cfg.PropagationTimeout = 5*time.Minute
  399. return dyn.NewDNSProviderConfig(cfg)
  400. case "dynu":
  401. cfg := dynu.NewDefaultConfig()
  402. err := json.Unmarshal([]byte(js), &cfg)
  403. if err != nil {
  404. return nil, err
  405. }
  406. cfg.PropagationTimeout = 5*time.Minute
  407. return dynu.NewDNSProviderConfig(cfg)
  408. case "easydns":
  409. cfg := easydns.NewDefaultConfig()
  410. err := json.Unmarshal([]byte(js), &cfg)
  411. if err != nil {
  412. return nil, err
  413. }
  414. cfg.PropagationTimeout = 5*time.Minute
  415. return easydns.NewDNSProviderConfig(cfg)
  416. case "efficientip":
  417. cfg := efficientip.NewDefaultConfig()
  418. err := json.Unmarshal([]byte(js), &cfg)
  419. if err != nil {
  420. return nil, err
  421. }
  422. cfg.PropagationTimeout = 5*time.Minute
  423. return efficientip.NewDNSProviderConfig(cfg)
  424. case "epik":
  425. cfg := epik.NewDefaultConfig()
  426. err := json.Unmarshal([]byte(js), &cfg)
  427. if err != nil {
  428. return nil, err
  429. }
  430. cfg.PropagationTimeout = 5*time.Minute
  431. return epik.NewDNSProviderConfig(cfg)
  432. case "exoscale":
  433. cfg := exoscale.NewDefaultConfig()
  434. err := json.Unmarshal([]byte(js), &cfg)
  435. if err != nil {
  436. return nil, err
  437. }
  438. cfg.PropagationTimeout = 5*time.Minute
  439. return exoscale.NewDNSProviderConfig(cfg)
  440. case "freemyip":
  441. cfg := freemyip.NewDefaultConfig()
  442. err := json.Unmarshal([]byte(js), &cfg)
  443. if err != nil {
  444. return nil, err
  445. }
  446. cfg.PropagationTimeout = 5*time.Minute
  447. return freemyip.NewDNSProviderConfig(cfg)
  448. case "gandi":
  449. cfg := gandi.NewDefaultConfig()
  450. err := json.Unmarshal([]byte(js), &cfg)
  451. if err != nil {
  452. return nil, err
  453. }
  454. cfg.PropagationTimeout = 5*time.Minute
  455. return gandi.NewDNSProviderConfig(cfg)
  456. case "gandiv5":
  457. cfg := gandiv5.NewDefaultConfig()
  458. err := json.Unmarshal([]byte(js), &cfg)
  459. if err != nil {
  460. return nil, err
  461. }
  462. cfg.PropagationTimeout = 5*time.Minute
  463. return gandiv5.NewDNSProviderConfig(cfg)
  464. case "gcore":
  465. cfg := gcore.NewDefaultConfig()
  466. err := json.Unmarshal([]byte(js), &cfg)
  467. if err != nil {
  468. return nil, err
  469. }
  470. cfg.PropagationTimeout = 5*time.Minute
  471. return gcore.NewDNSProviderConfig(cfg)
  472. case "glesys":
  473. cfg := glesys.NewDefaultConfig()
  474. err := json.Unmarshal([]byte(js), &cfg)
  475. if err != nil {
  476. return nil, err
  477. }
  478. cfg.PropagationTimeout = 5*time.Minute
  479. return glesys.NewDNSProviderConfig(cfg)
  480. case "godaddy":
  481. cfg := godaddy.NewDefaultConfig()
  482. err := json.Unmarshal([]byte(js), &cfg)
  483. if err != nil {
  484. return nil, err
  485. }
  486. cfg.PropagationTimeout = 5*time.Minute
  487. return godaddy.NewDNSProviderConfig(cfg)
  488. case "googledomains":
  489. cfg := googledomains.NewDefaultConfig()
  490. err := json.Unmarshal([]byte(js), &cfg)
  491. if err != nil {
  492. return nil, err
  493. }
  494. cfg.PropagationTimeout = 5*time.Minute
  495. return googledomains.NewDNSProviderConfig(cfg)
  496. case "hetzner":
  497. cfg := hetzner.NewDefaultConfig()
  498. err := json.Unmarshal([]byte(js), &cfg)
  499. if err != nil {
  500. return nil, err
  501. }
  502. cfg.PropagationTimeout = 5*time.Minute
  503. return hetzner.NewDNSProviderConfig(cfg)
  504. case "hostingde":
  505. cfg := hostingde.NewDefaultConfig()
  506. err := json.Unmarshal([]byte(js), &cfg)
  507. if err != nil {
  508. return nil, err
  509. }
  510. cfg.PropagationTimeout = 5*time.Minute
  511. return hostingde.NewDNSProviderConfig(cfg)
  512. case "hosttech":
  513. cfg := hosttech.NewDefaultConfig()
  514. err := json.Unmarshal([]byte(js), &cfg)
  515. if err != nil {
  516. return nil, err
  517. }
  518. cfg.PropagationTimeout = 5*time.Minute
  519. return hosttech.NewDNSProviderConfig(cfg)
  520. case "httpnet":
  521. cfg := httpnet.NewDefaultConfig()
  522. err := json.Unmarshal([]byte(js), &cfg)
  523. if err != nil {
  524. return nil, err
  525. }
  526. cfg.PropagationTimeout = 5*time.Minute
  527. return httpnet.NewDNSProviderConfig(cfg)
  528. case "hyperone":
  529. cfg := hyperone.NewDefaultConfig()
  530. err := json.Unmarshal([]byte(js), &cfg)
  531. if err != nil {
  532. return nil, err
  533. }
  534. cfg.PropagationTimeout = 5*time.Minute
  535. return hyperone.NewDNSProviderConfig(cfg)
  536. case "ibmcloud":
  537. cfg := ibmcloud.NewDefaultConfig()
  538. err := json.Unmarshal([]byte(js), &cfg)
  539. if err != nil {
  540. return nil, err
  541. }
  542. cfg.PropagationTimeout = 5*time.Minute
  543. return ibmcloud.NewDNSProviderConfig(cfg)
  544. case "iij":
  545. cfg := iij.NewDefaultConfig()
  546. err := json.Unmarshal([]byte(js), &cfg)
  547. if err != nil {
  548. return nil, err
  549. }
  550. cfg.PropagationTimeout = 5*time.Minute
  551. return iij.NewDNSProviderConfig(cfg)
  552. case "iijdpf":
  553. cfg := iijdpf.NewDefaultConfig()
  554. err := json.Unmarshal([]byte(js), &cfg)
  555. if err != nil {
  556. return nil, err
  557. }
  558. cfg.PropagationTimeout = 5*time.Minute
  559. return iijdpf.NewDNSProviderConfig(cfg)
  560. case "infoblox":
  561. cfg := infoblox.NewDefaultConfig()
  562. err := json.Unmarshal([]byte(js), &cfg)
  563. if err != nil {
  564. return nil, err
  565. }
  566. cfg.PropagationTimeout = 5*time.Minute
  567. return infoblox.NewDNSProviderConfig(cfg)
  568. case "infomaniak":
  569. cfg := infomaniak.NewDefaultConfig()
  570. err := json.Unmarshal([]byte(js), &cfg)
  571. if err != nil {
  572. return nil, err
  573. }
  574. cfg.PropagationTimeout = 5*time.Minute
  575. return infomaniak.NewDNSProviderConfig(cfg)
  576. case "internetbs":
  577. cfg := internetbs.NewDefaultConfig()
  578. err := json.Unmarshal([]byte(js), &cfg)
  579. if err != nil {
  580. return nil, err
  581. }
  582. cfg.PropagationTimeout = 5*time.Minute
  583. return internetbs.NewDNSProviderConfig(cfg)
  584. case "inwx":
  585. cfg := inwx.NewDefaultConfig()
  586. err := json.Unmarshal([]byte(js), &cfg)
  587. if err != nil {
  588. return nil, err
  589. }
  590. cfg.PropagationTimeout = 5*time.Minute
  591. return inwx.NewDNSProviderConfig(cfg)
  592. case "ionos":
  593. cfg := ionos.NewDefaultConfig()
  594. err := json.Unmarshal([]byte(js), &cfg)
  595. if err != nil {
  596. return nil, err
  597. }
  598. cfg.PropagationTimeout = 5*time.Minute
  599. return ionos.NewDNSProviderConfig(cfg)
  600. case "ipv64":
  601. cfg := ipv64.NewDefaultConfig()
  602. err := json.Unmarshal([]byte(js), &cfg)
  603. if err != nil {
  604. return nil, err
  605. }
  606. cfg.PropagationTimeout = 5*time.Minute
  607. return ipv64.NewDNSProviderConfig(cfg)
  608. case "iwantmyname":
  609. cfg := iwantmyname.NewDefaultConfig()
  610. err := json.Unmarshal([]byte(js), &cfg)
  611. if err != nil {
  612. return nil, err
  613. }
  614. cfg.PropagationTimeout = 5*time.Minute
  615. return iwantmyname.NewDNSProviderConfig(cfg)
  616. case "joker":
  617. cfg := joker.NewDefaultConfig()
  618. err := json.Unmarshal([]byte(js), &cfg)
  619. if err != nil {
  620. return nil, err
  621. }
  622. cfg.PropagationTimeout = 5*time.Minute
  623. return joker.NewDNSProviderConfig(cfg)
  624. case "liara":
  625. cfg := liara.NewDefaultConfig()
  626. err := json.Unmarshal([]byte(js), &cfg)
  627. if err != nil {
  628. return nil, err
  629. }
  630. cfg.PropagationTimeout = 5*time.Minute
  631. return liara.NewDNSProviderConfig(cfg)
  632. case "lightsail":
  633. cfg := lightsail.NewDefaultConfig()
  634. err := json.Unmarshal([]byte(js), &cfg)
  635. if err != nil {
  636. return nil, err
  637. }
  638. cfg.PropagationTimeout = 5*time.Minute
  639. return lightsail.NewDNSProviderConfig(cfg)
  640. case "linode":
  641. cfg := linode.NewDefaultConfig()
  642. err := json.Unmarshal([]byte(js), &cfg)
  643. if err != nil {
  644. return nil, err
  645. }
  646. cfg.PropagationTimeout = 5*time.Minute
  647. return linode.NewDNSProviderConfig(cfg)
  648. case "liquidweb":
  649. cfg := liquidweb.NewDefaultConfig()
  650. err := json.Unmarshal([]byte(js), &cfg)
  651. if err != nil {
  652. return nil, err
  653. }
  654. cfg.PropagationTimeout = 5*time.Minute
  655. return liquidweb.NewDNSProviderConfig(cfg)
  656. case "loopia":
  657. cfg := loopia.NewDefaultConfig()
  658. err := json.Unmarshal([]byte(js), &cfg)
  659. if err != nil {
  660. return nil, err
  661. }
  662. cfg.PropagationTimeout = 5*time.Minute
  663. return loopia.NewDNSProviderConfig(cfg)
  664. case "luadns":
  665. cfg := luadns.NewDefaultConfig()
  666. err := json.Unmarshal([]byte(js), &cfg)
  667. if err != nil {
  668. return nil, err
  669. }
  670. cfg.PropagationTimeout = 5*time.Minute
  671. return luadns.NewDNSProviderConfig(cfg)
  672. case "mailinabox":
  673. cfg := mailinabox.NewDefaultConfig()
  674. err := json.Unmarshal([]byte(js), &cfg)
  675. if err != nil {
  676. return nil, err
  677. }
  678. cfg.PropagationTimeout = 5*time.Minute
  679. return mailinabox.NewDNSProviderConfig(cfg)
  680. case "metaname":
  681. cfg := metaname.NewDefaultConfig()
  682. err := json.Unmarshal([]byte(js), &cfg)
  683. if err != nil {
  684. return nil, err
  685. }
  686. cfg.PropagationTimeout = 5*time.Minute
  687. return metaname.NewDNSProviderConfig(cfg)
  688. case "mydnsjp":
  689. cfg := mydnsjp.NewDefaultConfig()
  690. err := json.Unmarshal([]byte(js), &cfg)
  691. if err != nil {
  692. return nil, err
  693. }
  694. cfg.PropagationTimeout = 5*time.Minute
  695. return mydnsjp.NewDNSProviderConfig(cfg)
  696. case "namecheap":
  697. cfg := namecheap.NewDefaultConfig()
  698. err := json.Unmarshal([]byte(js), &cfg)
  699. if err != nil {
  700. return nil, err
  701. }
  702. cfg.PropagationTimeout = 5*time.Minute
  703. return namecheap.NewDNSProviderConfig(cfg)
  704. case "namedotcom":
  705. cfg := namedotcom.NewDefaultConfig()
  706. err := json.Unmarshal([]byte(js), &cfg)
  707. if err != nil {
  708. return nil, err
  709. }
  710. cfg.PropagationTimeout = 5*time.Minute
  711. return namedotcom.NewDNSProviderConfig(cfg)
  712. case "namesilo":
  713. cfg := namesilo.NewDefaultConfig()
  714. err := json.Unmarshal([]byte(js), &cfg)
  715. if err != nil {
  716. return nil, err
  717. }
  718. cfg.PropagationTimeout = 5*time.Minute
  719. return namesilo.NewDNSProviderConfig(cfg)
  720. case "nearlyfreespeech":
  721. cfg := nearlyfreespeech.NewDefaultConfig()
  722. err := json.Unmarshal([]byte(js), &cfg)
  723. if err != nil {
  724. return nil, err
  725. }
  726. cfg.PropagationTimeout = 5*time.Minute
  727. return nearlyfreespeech.NewDNSProviderConfig(cfg)
  728. case "netcup":
  729. cfg := netcup.NewDefaultConfig()
  730. err := json.Unmarshal([]byte(js), &cfg)
  731. if err != nil {
  732. return nil, err
  733. }
  734. cfg.PropagationTimeout = 20*time.Minute
  735. return netcup.NewDNSProviderConfig(cfg)
  736. case "netlify":
  737. cfg := netlify.NewDefaultConfig()
  738. err := json.Unmarshal([]byte(js), &cfg)
  739. if err != nil {
  740. return nil, err
  741. }
  742. cfg.PropagationTimeout = 5*time.Minute
  743. return netlify.NewDNSProviderConfig(cfg)
  744. case "nicmanager":
  745. cfg := nicmanager.NewDefaultConfig()
  746. err := json.Unmarshal([]byte(js), &cfg)
  747. if err != nil {
  748. return nil, err
  749. }
  750. cfg.PropagationTimeout = 5*time.Minute
  751. return nicmanager.NewDNSProviderConfig(cfg)
  752. case "nifcloud":
  753. cfg := nifcloud.NewDefaultConfig()
  754. err := json.Unmarshal([]byte(js), &cfg)
  755. if err != nil {
  756. return nil, err
  757. }
  758. cfg.PropagationTimeout = 5*time.Minute
  759. return nifcloud.NewDNSProviderConfig(cfg)
  760. case "njalla":
  761. cfg := njalla.NewDefaultConfig()
  762. err := json.Unmarshal([]byte(js), &cfg)
  763. if err != nil {
  764. return nil, err
  765. }
  766. cfg.PropagationTimeout = 5*time.Minute
  767. return njalla.NewDNSProviderConfig(cfg)
  768. case "nodion":
  769. cfg := nodion.NewDefaultConfig()
  770. err := json.Unmarshal([]byte(js), &cfg)
  771. if err != nil {
  772. return nil, err
  773. }
  774. cfg.PropagationTimeout = 5*time.Minute
  775. return nodion.NewDNSProviderConfig(cfg)
  776. case "ns1":
  777. cfg := ns1.NewDefaultConfig()
  778. err := json.Unmarshal([]byte(js), &cfg)
  779. if err != nil {
  780. return nil, err
  781. }
  782. cfg.PropagationTimeout = 5*time.Minute
  783. return ns1.NewDNSProviderConfig(cfg)
  784. case "otc":
  785. cfg := otc.NewDefaultConfig()
  786. err := json.Unmarshal([]byte(js), &cfg)
  787. if err != nil {
  788. return nil, err
  789. }
  790. cfg.PropagationTimeout = 5*time.Minute
  791. return otc.NewDNSProviderConfig(cfg)
  792. case "ovh":
  793. cfg := ovh.NewDefaultConfig()
  794. err := json.Unmarshal([]byte(js), &cfg)
  795. if err != nil {
  796. return nil, err
  797. }
  798. cfg.PropagationTimeout = 5*time.Minute
  799. return ovh.NewDNSProviderConfig(cfg)
  800. case "pdns":
  801. cfg := pdns.NewDefaultConfig()
  802. err := json.Unmarshal([]byte(js), &cfg)
  803. if err != nil {
  804. return nil, err
  805. }
  806. cfg.PropagationTimeout = 5*time.Minute
  807. return pdns.NewDNSProviderConfig(cfg)
  808. case "plesk":
  809. cfg := plesk.NewDefaultConfig()
  810. err := json.Unmarshal([]byte(js), &cfg)
  811. if err != nil {
  812. return nil, err
  813. }
  814. cfg.PropagationTimeout = 5*time.Minute
  815. return plesk.NewDNSProviderConfig(cfg)
  816. case "porkbun":
  817. cfg := porkbun.NewDefaultConfig()
  818. err := json.Unmarshal([]byte(js), &cfg)
  819. if err != nil {
  820. return nil, err
  821. }
  822. cfg.PropagationTimeout = 5*time.Minute
  823. return porkbun.NewDNSProviderConfig(cfg)
  824. case "rackspace":
  825. cfg := rackspace.NewDefaultConfig()
  826. err := json.Unmarshal([]byte(js), &cfg)
  827. if err != nil {
  828. return nil, err
  829. }
  830. cfg.PropagationTimeout = 5*time.Minute
  831. return rackspace.NewDNSProviderConfig(cfg)
  832. case "rcodezero":
  833. cfg := rcodezero.NewDefaultConfig()
  834. err := json.Unmarshal([]byte(js), &cfg)
  835. if err != nil {
  836. return nil, err
  837. }
  838. cfg.PropagationTimeout = 5*time.Minute
  839. return rcodezero.NewDNSProviderConfig(cfg)
  840. case "regru":
  841. cfg := regru.NewDefaultConfig()
  842. err := json.Unmarshal([]byte(js), &cfg)
  843. if err != nil {
  844. return nil, err
  845. }
  846. cfg.PropagationTimeout = 5*time.Minute
  847. return regru.NewDNSProviderConfig(cfg)
  848. case "rfc2136":
  849. cfg := rfc2136.NewDefaultConfig()
  850. err := json.Unmarshal([]byte(js), &cfg)
  851. if err != nil {
  852. return nil, err
  853. }
  854. cfg.PropagationTimeout = 5*time.Minute
  855. return rfc2136.NewDNSProviderConfig(cfg)
  856. case "rimuhosting":
  857. cfg := rimuhosting.NewDefaultConfig()
  858. err := json.Unmarshal([]byte(js), &cfg)
  859. if err != nil {
  860. return nil, err
  861. }
  862. cfg.PropagationTimeout = 5*time.Minute
  863. return rimuhosting.NewDNSProviderConfig(cfg)
  864. case "route53":
  865. cfg := route53.NewDefaultConfig()
  866. err := json.Unmarshal([]byte(js), &cfg)
  867. if err != nil {
  868. return nil, err
  869. }
  870. cfg.PropagationTimeout = 5*time.Minute
  871. return route53.NewDNSProviderConfig(cfg)
  872. case "safedns":
  873. cfg := safedns.NewDefaultConfig()
  874. err := json.Unmarshal([]byte(js), &cfg)
  875. if err != nil {
  876. return nil, err
  877. }
  878. cfg.PropagationTimeout = 5*time.Minute
  879. return safedns.NewDNSProviderConfig(cfg)
  880. case "sakuracloud":
  881. cfg := sakuracloud.NewDefaultConfig()
  882. err := json.Unmarshal([]byte(js), &cfg)
  883. if err != nil {
  884. return nil, err
  885. }
  886. cfg.PropagationTimeout = 5*time.Minute
  887. return sakuracloud.NewDNSProviderConfig(cfg)
  888. case "scaleway":
  889. cfg := scaleway.NewDefaultConfig()
  890. err := json.Unmarshal([]byte(js), &cfg)
  891. if err != nil {
  892. return nil, err
  893. }
  894. cfg.PropagationTimeout = 5*time.Minute
  895. return scaleway.NewDNSProviderConfig(cfg)
  896. case "selectel":
  897. cfg := selectel.NewDefaultConfig()
  898. err := json.Unmarshal([]byte(js), &cfg)
  899. if err != nil {
  900. return nil, err
  901. }
  902. cfg.PropagationTimeout = 5*time.Minute
  903. return selectel.NewDNSProviderConfig(cfg)
  904. case "servercow":
  905. cfg := servercow.NewDefaultConfig()
  906. err := json.Unmarshal([]byte(js), &cfg)
  907. if err != nil {
  908. return nil, err
  909. }
  910. cfg.PropagationTimeout = 5*time.Minute
  911. return servercow.NewDNSProviderConfig(cfg)
  912. case "shellrent":
  913. cfg := shellrent.NewDefaultConfig()
  914. err := json.Unmarshal([]byte(js), &cfg)
  915. if err != nil {
  916. return nil, err
  917. }
  918. cfg.PropagationTimeout = 5*time.Minute
  919. return shellrent.NewDNSProviderConfig(cfg)
  920. case "simply":
  921. cfg := simply.NewDefaultConfig()
  922. err := json.Unmarshal([]byte(js), &cfg)
  923. if err != nil {
  924. return nil, err
  925. }
  926. cfg.PropagationTimeout = 5*time.Minute
  927. return simply.NewDNSProviderConfig(cfg)
  928. case "sonic":
  929. cfg := sonic.NewDefaultConfig()
  930. err := json.Unmarshal([]byte(js), &cfg)
  931. if err != nil {
  932. return nil, err
  933. }
  934. cfg.PropagationTimeout = 5*time.Minute
  935. return sonic.NewDNSProviderConfig(cfg)
  936. case "stackpath":
  937. cfg := stackpath.NewDefaultConfig()
  938. err := json.Unmarshal([]byte(js), &cfg)
  939. if err != nil {
  940. return nil, err
  941. }
  942. cfg.PropagationTimeout = 5*time.Minute
  943. return stackpath.NewDNSProviderConfig(cfg)
  944. case "tencentcloud":
  945. cfg := tencentcloud.NewDefaultConfig()
  946. err := json.Unmarshal([]byte(js), &cfg)
  947. if err != nil {
  948. return nil, err
  949. }
  950. cfg.PropagationTimeout = 5*time.Minute
  951. return tencentcloud.NewDNSProviderConfig(cfg)
  952. case "transip":
  953. cfg := transip.NewDefaultConfig()
  954. err := json.Unmarshal([]byte(js), &cfg)
  955. if err != nil {
  956. return nil, err
  957. }
  958. cfg.PropagationTimeout = 5*time.Minute
  959. return transip.NewDNSProviderConfig(cfg)
  960. case "ultradns":
  961. cfg := ultradns.NewDefaultConfig()
  962. err := json.Unmarshal([]byte(js), &cfg)
  963. if err != nil {
  964. return nil, err
  965. }
  966. cfg.PropagationTimeout = 5*time.Minute
  967. return ultradns.NewDNSProviderConfig(cfg)
  968. case "variomedia":
  969. cfg := variomedia.NewDefaultConfig()
  970. err := json.Unmarshal([]byte(js), &cfg)
  971. if err != nil {
  972. return nil, err
  973. }
  974. cfg.PropagationTimeout = 5*time.Minute
  975. return variomedia.NewDNSProviderConfig(cfg)
  976. case "vegadns":
  977. cfg := vegadns.NewDefaultConfig()
  978. err := json.Unmarshal([]byte(js), &cfg)
  979. if err != nil {
  980. return nil, err
  981. }
  982. cfg.PropagationTimeout = 5*time.Minute
  983. return vegadns.NewDNSProviderConfig(cfg)
  984. case "vercel":
  985. cfg := vercel.NewDefaultConfig()
  986. err := json.Unmarshal([]byte(js), &cfg)
  987. if err != nil {
  988. return nil, err
  989. }
  990. cfg.PropagationTimeout = 5*time.Minute
  991. return vercel.NewDNSProviderConfig(cfg)
  992. case "versio":
  993. cfg := versio.NewDefaultConfig()
  994. err := json.Unmarshal([]byte(js), &cfg)
  995. if err != nil {
  996. return nil, err
  997. }
  998. cfg.PropagationTimeout = 5*time.Minute
  999. return versio.NewDNSProviderConfig(cfg)
  1000. case "vinyldns":
  1001. cfg := vinyldns.NewDefaultConfig()
  1002. err := json.Unmarshal([]byte(js), &cfg)
  1003. if err != nil {
  1004. return nil, err
  1005. }
  1006. cfg.PropagationTimeout = 5*time.Minute
  1007. return vinyldns.NewDNSProviderConfig(cfg)
  1008. case "vkcloud":
  1009. cfg := vkcloud.NewDefaultConfig()
  1010. err := json.Unmarshal([]byte(js), &cfg)
  1011. if err != nil {
  1012. return nil, err
  1013. }
  1014. cfg.PropagationTimeout = 5*time.Minute
  1015. return vkcloud.NewDNSProviderConfig(cfg)
  1016. case "vscale":
  1017. cfg := vscale.NewDefaultConfig()
  1018. err := json.Unmarshal([]byte(js), &cfg)
  1019. if err != nil {
  1020. return nil, err
  1021. }
  1022. cfg.PropagationTimeout = 5*time.Minute
  1023. return vscale.NewDNSProviderConfig(cfg)
  1024. case "vultr":
  1025. cfg := vultr.NewDefaultConfig()
  1026. err := json.Unmarshal([]byte(js), &cfg)
  1027. if err != nil {
  1028. return nil, err
  1029. }
  1030. cfg.PropagationTimeout = 5*time.Minute
  1031. return vultr.NewDNSProviderConfig(cfg)
  1032. case "webnames":
  1033. cfg := webnames.NewDefaultConfig()
  1034. err := json.Unmarshal([]byte(js), &cfg)
  1035. if err != nil {
  1036. return nil, err
  1037. }
  1038. cfg.PropagationTimeout = 5*time.Minute
  1039. return webnames.NewDNSProviderConfig(cfg)
  1040. case "websupport":
  1041. cfg := websupport.NewDefaultConfig()
  1042. err := json.Unmarshal([]byte(js), &cfg)
  1043. if err != nil {
  1044. return nil, err
  1045. }
  1046. cfg.PropagationTimeout = 5*time.Minute
  1047. return websupport.NewDNSProviderConfig(cfg)
  1048. case "wedos":
  1049. cfg := wedos.NewDefaultConfig()
  1050. err := json.Unmarshal([]byte(js), &cfg)
  1051. if err != nil {
  1052. return nil, err
  1053. }
  1054. cfg.PropagationTimeout = 5*time.Minute
  1055. return wedos.NewDNSProviderConfig(cfg)
  1056. case "yandex":
  1057. cfg := yandex.NewDefaultConfig()
  1058. err := json.Unmarshal([]byte(js), &cfg)
  1059. if err != nil {
  1060. return nil, err
  1061. }
  1062. cfg.PropagationTimeout = 5*time.Minute
  1063. return yandex.NewDNSProviderConfig(cfg)
  1064. case "yandex360":
  1065. cfg := yandex360.NewDefaultConfig()
  1066. err := json.Unmarshal([]byte(js), &cfg)
  1067. if err != nil {
  1068. return nil, err
  1069. }
  1070. cfg.PropagationTimeout = 5*time.Minute
  1071. return yandex360.NewDNSProviderConfig(cfg)
  1072. case "yandexcloud":
  1073. cfg := yandexcloud.NewDefaultConfig()
  1074. err := json.Unmarshal([]byte(js), &cfg)
  1075. if err != nil {
  1076. return nil, err
  1077. }
  1078. cfg.PropagationTimeout = 5*time.Minute
  1079. return yandexcloud.NewDNSProviderConfig(cfg)
  1080. case "zoneee":
  1081. cfg := zoneee.NewDefaultConfig()
  1082. err := json.Unmarshal([]byte(js), &cfg)
  1083. if err != nil {
  1084. return nil, err
  1085. }
  1086. cfg.PropagationTimeout = 5*time.Minute
  1087. return zoneee.NewDNSProviderConfig(cfg)
  1088. case "zonomi":
  1089. cfg := zonomi.NewDefaultConfig()
  1090. err := json.Unmarshal([]byte(js), &cfg)
  1091. if err != nil {
  1092. return nil, err
  1093. }
  1094. cfg.PropagationTimeout = 5*time.Minute
  1095. return zonomi.NewDNSProviderConfig(cfg)
  1096. default:
  1097. return nil, fmt.Errorf("unrecognized DNS provider: %s", name)
  1098. }
  1099. }