1
0

acmedns.go 28 KB

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