acmedns_nt61.go 33 KB

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