acmedns_nt61.go 27 KB

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