acmedns.go 28 KB

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