@flui-cloud/cli 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (873) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +124 -0
  3. package/bin/run +17 -0
  4. package/lib/cli/src/background/cluster-worker.d.ts +11 -0
  5. package/lib/cli/src/background/cluster-worker.js +90 -0
  6. package/lib/cli/src/cli-providers.module.d.ts +2 -0
  7. package/lib/cli/src/cli-providers.module.js +118 -0
  8. package/lib/cli/src/cli.module.d.ts +13 -0
  9. package/lib/cli/src/cli.module.js +80 -0
  10. package/lib/cli/src/commands/_diag-oidc.d.ts +6 -0
  11. package/lib/cli/src/commands/_diag-oidc.js +132 -0
  12. package/lib/cli/src/commands/app/backup/create.d.ts +20 -0
  13. package/lib/cli/src/commands/app/backup/create.js +128 -0
  14. package/lib/cli/src/commands/app/backup/delete.d.ts +19 -0
  15. package/lib/cli/src/commands/app/backup/delete.js +95 -0
  16. package/lib/cli/src/commands/app/build.d.ts +17 -0
  17. package/lib/cli/src/commands/app/build.js +133 -0
  18. package/lib/cli/src/commands/app/builds.d.ts +14 -0
  19. package/lib/cli/src/commands/app/builds.js +82 -0
  20. package/lib/cli/src/commands/app/crash.d.ts +16 -0
  21. package/lib/cli/src/commands/app/crash.js +106 -0
  22. package/lib/cli/src/commands/app/crashes.d.ts +15 -0
  23. package/lib/cli/src/commands/app/crashes.js +99 -0
  24. package/lib/cli/src/commands/app/delete.d.ts +16 -0
  25. package/lib/cli/src/commands/app/delete.js +149 -0
  26. package/lib/cli/src/commands/app/image/delete.d.ts +18 -0
  27. package/lib/cli/src/commands/app/image/delete.js +72 -0
  28. package/lib/cli/src/commands/app/init.d.ts +40 -0
  29. package/lib/cli/src/commands/app/init.js +436 -0
  30. package/lib/cli/src/commands/app/list.d.ts +11 -0
  31. package/lib/cli/src/commands/app/list.js +84 -0
  32. package/lib/cli/src/commands/app/logs.d.ts +18 -0
  33. package/lib/cli/src/commands/app/logs.js +121 -0
  34. package/lib/cli/src/commands/app/metrics.d.ts +17 -0
  35. package/lib/cli/src/commands/app/metrics.js +100 -0
  36. package/lib/cli/src/commands/app/redeploy.d.ts +14 -0
  37. package/lib/cli/src/commands/app/redeploy.js +60 -0
  38. package/lib/cli/src/commands/app/releases.d.ts +15 -0
  39. package/lib/cli/src/commands/app/releases.js +117 -0
  40. package/lib/cli/src/commands/app/restart.d.ts +12 -0
  41. package/lib/cli/src/commands/app/restart.js +44 -0
  42. package/lib/cli/src/commands/app/scale.d.ts +13 -0
  43. package/lib/cli/src/commands/app/scale.js +58 -0
  44. package/lib/cli/src/commands/app/snapshot/create.d.ts +14 -0
  45. package/lib/cli/src/commands/app/snapshot/create.js +85 -0
  46. package/lib/cli/src/commands/app/snapshot/delete.d.ts +14 -0
  47. package/lib/cli/src/commands/app/snapshot/delete.js +63 -0
  48. package/lib/cli/src/commands/app/snapshot/list.d.ts +11 -0
  49. package/lib/cli/src/commands/app/snapshot/list.js +82 -0
  50. package/lib/cli/src/commands/app/snapshot/restore.d.ts +15 -0
  51. package/lib/cli/src/commands/app/snapshot/restore.js +74 -0
  52. package/lib/cli/src/commands/app/snapshot/swap.d.ts +15 -0
  53. package/lib/cli/src/commands/app/snapshot/swap.js +68 -0
  54. package/lib/cli/src/commands/app/start.d.ts +12 -0
  55. package/lib/cli/src/commands/app/start.js +45 -0
  56. package/lib/cli/src/commands/app/status.d.ts +15 -0
  57. package/lib/cli/src/commands/app/status.js +108 -0
  58. package/lib/cli/src/commands/app/stop.d.ts +12 -0
  59. package/lib/cli/src/commands/app/stop.js +45 -0
  60. package/lib/cli/src/commands/app/versions.d.ts +14 -0
  61. package/lib/cli/src/commands/app/versions.js +80 -0
  62. package/lib/cli/src/commands/auth/generate-api-key.d.ts +12 -0
  63. package/lib/cli/src/commands/auth/generate-api-key.js +90 -0
  64. package/lib/cli/src/commands/auth/login.d.ts +11 -0
  65. package/lib/cli/src/commands/auth/login.js +296 -0
  66. package/lib/cli/src/commands/auth/reset-password.d.ts +15 -0
  67. package/lib/cli/src/commands/auth/reset-password.js +253 -0
  68. package/lib/cli/src/commands/backup/destination/create.d.ts +22 -0
  69. package/lib/cli/src/commands/backup/destination/create.js +102 -0
  70. package/lib/cli/src/commands/backup/destination/delete.d.ts +11 -0
  71. package/lib/cli/src/commands/backup/destination/delete.js +46 -0
  72. package/lib/cli/src/commands/backup/destination/list.d.ts +9 -0
  73. package/lib/cli/src/commands/backup/destination/list.js +42 -0
  74. package/lib/cli/src/commands/backup/destination/show.d.ts +11 -0
  75. package/lib/cli/src/commands/backup/destination/show.js +45 -0
  76. package/lib/cli/src/commands/backup/destination/test.d.ts +8 -0
  77. package/lib/cli/src/commands/backup/destination/test.js +39 -0
  78. package/lib/cli/src/commands/backup/job/list.d.ts +9 -0
  79. package/lib/cli/src/commands/backup/job/list.js +38 -0
  80. package/lib/cli/src/commands/backup/job/run.d.ts +8 -0
  81. package/lib/cli/src/commands/backup/job/run.js +32 -0
  82. package/lib/cli/src/commands/backup/job/show.d.ts +11 -0
  83. package/lib/cli/src/commands/backup/job/show.js +38 -0
  84. package/lib/cli/src/commands/backup/policy/create.d.ts +21 -0
  85. package/lib/cli/src/commands/backup/policy/create.js +97 -0
  86. package/lib/cli/src/commands/backup/policy/delete.d.ts +11 -0
  87. package/lib/cli/src/commands/backup/policy/delete.js +42 -0
  88. package/lib/cli/src/commands/backup/policy/list.d.ts +9 -0
  89. package/lib/cli/src/commands/backup/policy/list.js +40 -0
  90. package/lib/cli/src/commands/backup/policy/show.d.ts +11 -0
  91. package/lib/cli/src/commands/backup/policy/show.js +45 -0
  92. package/lib/cli/src/commands/backup/restore/create.d.ts +14 -0
  93. package/lib/cli/src/commands/backup/restore/create.js +68 -0
  94. package/lib/cli/src/commands/backup/restore/list.d.ts +8 -0
  95. package/lib/cli/src/commands/backup/restore/list.js +33 -0
  96. package/lib/cli/src/commands/backup/restore/preview.d.ts +9 -0
  97. package/lib/cli/src/commands/backup/restore/preview.js +29 -0
  98. package/lib/cli/src/commands/backup/restore/show.d.ts +11 -0
  99. package/lib/cli/src/commands/backup/restore/show.js +40 -0
  100. package/lib/cli/src/commands/catalog/validate.d.ts +14 -0
  101. package/lib/cli/src/commands/catalog/validate.js +155 -0
  102. package/lib/cli/src/commands/cluster/destroy.d.ts +15 -0
  103. package/lib/cli/src/commands/cluster/destroy.js +137 -0
  104. package/lib/cli/src/commands/config/get.d.ts +9 -0
  105. package/lib/cli/src/commands/config/get.js +47 -0
  106. package/lib/cli/src/commands/config/list.d.ts +15 -0
  107. package/lib/cli/src/commands/config/list.js +109 -0
  108. package/lib/cli/src/commands/config/remove.d.ts +12 -0
  109. package/lib/cli/src/commands/config/remove.js +92 -0
  110. package/lib/cli/src/commands/config/set.d.ts +15 -0
  111. package/lib/cli/src/commands/config/set.js +152 -0
  112. package/lib/cli/src/commands/config/show.d.ts +6 -0
  113. package/lib/cli/src/commands/config/show.js +15 -0
  114. package/lib/cli/src/commands/context/create.d.ts +12 -0
  115. package/lib/cli/src/commands/context/create.js +46 -0
  116. package/lib/cli/src/commands/context/delete.d.ts +12 -0
  117. package/lib/cli/src/commands/context/delete.js +53 -0
  118. package/lib/cli/src/commands/context/list.d.ts +6 -0
  119. package/lib/cli/src/commands/context/list.js +29 -0
  120. package/lib/cli/src/commands/context/show.d.ts +6 -0
  121. package/lib/cli/src/commands/context/show.js +12 -0
  122. package/lib/cli/src/commands/context/use.d.ts +9 -0
  123. package/lib/cli/src/commands/context/use.js +30 -0
  124. package/lib/cli/src/commands/deploy.d.ts +49 -0
  125. package/lib/cli/src/commands/deploy.js +542 -0
  126. package/lib/cli/src/commands/dev/creds.d.ts +19 -0
  127. package/lib/cli/src/commands/dev/creds.js +290 -0
  128. package/lib/cli/src/commands/dev/tunnel.d.ts +15 -0
  129. package/lib/cli/src/commands/dev/tunnel.js +268 -0
  130. package/lib/cli/src/commands/dns/cleanup.d.ts +11 -0
  131. package/lib/cli/src/commands/dns/cleanup.js +93 -0
  132. package/lib/cli/src/commands/env/capacity.d.ts +12 -0
  133. package/lib/cli/src/commands/env/capacity.js +177 -0
  134. package/lib/cli/src/commands/env/create.d.ts +21 -0
  135. package/lib/cli/src/commands/env/create.js +721 -0
  136. package/lib/cli/src/commands/env/credentials.d.ts +21 -0
  137. package/lib/cli/src/commands/env/credentials.js +435 -0
  138. package/lib/cli/src/commands/env/destroy.d.ts +9 -0
  139. package/lib/cli/src/commands/env/destroy.js +145 -0
  140. package/lib/cli/src/commands/env/diag-ca.d.ts +14 -0
  141. package/lib/cli/src/commands/env/diag-ca.js +192 -0
  142. package/lib/cli/src/commands/env/export-config.d.ts +39 -0
  143. package/lib/cli/src/commands/env/export-config.js +386 -0
  144. package/lib/cli/src/commands/env/force-ready.d.ts +10 -0
  145. package/lib/cli/src/commands/env/force-ready.js +222 -0
  146. package/lib/cli/src/commands/env/inspect.d.ts +12 -0
  147. package/lib/cli/src/commands/env/inspect.js +192 -0
  148. package/lib/cli/src/commands/env/kubectl.d.ts +9 -0
  149. package/lib/cli/src/commands/env/kubectl.js +33 -0
  150. package/lib/cli/src/commands/env/logs.d.ts +12 -0
  151. package/lib/cli/src/commands/env/logs.js +136 -0
  152. package/lib/cli/src/commands/env/orphan-volumes.d.ts +11 -0
  153. package/lib/cli/src/commands/env/orphan-volumes.js +153 -0
  154. package/lib/cli/src/commands/env/refresh-kubeconfig.d.ts +6 -0
  155. package/lib/cli/src/commands/env/refresh-kubeconfig.js +66 -0
  156. package/lib/cli/src/commands/env/repair-ssh-ca.d.ts +11 -0
  157. package/lib/cli/src/commands/env/repair-ssh-ca.js +137 -0
  158. package/lib/cli/src/commands/env/restart.d.ts +10 -0
  159. package/lib/cli/src/commands/env/restart.js +187 -0
  160. package/lib/cli/src/commands/env/scale-master.d.ts +11 -0
  161. package/lib/cli/src/commands/env/scale-master.js +160 -0
  162. package/lib/cli/src/commands/env/scale-node.d.ts +14 -0
  163. package/lib/cli/src/commands/env/scale-node.js +139 -0
  164. package/lib/cli/src/commands/env/status.d.ts +10 -0
  165. package/lib/cli/src/commands/env/status.js +182 -0
  166. package/lib/cli/src/commands/env/stop.d.ts +6 -0
  167. package/lib/cli/src/commands/env/stop.js +147 -0
  168. package/lib/cli/src/commands/env/storage-expand.d.ts +10 -0
  169. package/lib/cli/src/commands/env/storage-expand.js +124 -0
  170. package/lib/cli/src/commands/env/storage.d.ts +8 -0
  171. package/lib/cli/src/commands/env/storage.js +92 -0
  172. package/lib/cli/src/commands/env/sync.d.ts +17 -0
  173. package/lib/cli/src/commands/env/sync.js +225 -0
  174. package/lib/cli/src/commands/env/uncordon.d.ts +9 -0
  175. package/lib/cli/src/commands/env/uncordon.js +73 -0
  176. package/lib/cli/src/commands/env/update-firewall.d.ts +9 -0
  177. package/lib/cli/src/commands/env/update-firewall.js +185 -0
  178. package/lib/cli/src/commands/integration/connect.d.ts +13 -0
  179. package/lib/cli/src/commands/integration/connect.js +161 -0
  180. package/lib/cli/src/commands/integration/ghcr-pat/revoke.d.ts +9 -0
  181. package/lib/cli/src/commands/integration/ghcr-pat/revoke.js +61 -0
  182. package/lib/cli/src/commands/integration/ghcr-pat/set.d.ts +12 -0
  183. package/lib/cli/src/commands/integration/ghcr-pat/set.js +141 -0
  184. package/lib/cli/src/commands/integration/ghcr-pat/status.d.ts +6 -0
  185. package/lib/cli/src/commands/integration/ghcr-pat/status.js +69 -0
  186. package/lib/cli/src/commands/integration/installations.d.ts +6 -0
  187. package/lib/cli/src/commands/integration/installations.js +45 -0
  188. package/lib/cli/src/commands/integration/list.d.ts +8 -0
  189. package/lib/cli/src/commands/integration/list.js +67 -0
  190. package/lib/cli/src/commands/integration/remove-installation.d.ts +12 -0
  191. package/lib/cli/src/commands/integration/remove-installation.js +71 -0
  192. package/lib/cli/src/commands/integration/setup-github-app.d.ts +10 -0
  193. package/lib/cli/src/commands/integration/setup-github-app.js +162 -0
  194. package/lib/cli/src/commands/node/add.d.ts +11 -0
  195. package/lib/cli/src/commands/node/add.js +103 -0
  196. package/lib/cli/src/commands/node/list.d.ts +11 -0
  197. package/lib/cli/src/commands/node/list.js +83 -0
  198. package/lib/cli/src/commands/node/remove.d.ts +16 -0
  199. package/lib/cli/src/commands/node/remove.js +161 -0
  200. package/lib/cli/src/commands/reconcile.d.ts +19 -0
  201. package/lib/cli/src/commands/reconcile.js +171 -0
  202. package/lib/cli/src/commands/repo/connect.d.ts +12 -0
  203. package/lib/cli/src/commands/repo/connect.js +133 -0
  204. package/lib/cli/src/commands/repo/disconnect.d.ts +12 -0
  205. package/lib/cli/src/commands/repo/disconnect.js +73 -0
  206. package/lib/cli/src/commands/repo/list.d.ts +9 -0
  207. package/lib/cli/src/commands/repo/list.js +66 -0
  208. package/lib/cli/src/commands/server-types/list.d.ts +12 -0
  209. package/lib/cli/src/commands/server-types/list.js +205 -0
  210. package/lib/cli/src/commands/ssh.d.ts +9 -0
  211. package/lib/cli/src/commands/ssh.js +94 -0
  212. package/lib/cli/src/commands/standalone/install.d.ts +27 -0
  213. package/lib/cli/src/commands/standalone/install.js +330 -0
  214. package/lib/cli/src/commands/template/use.d.ts +16 -0
  215. package/lib/cli/src/commands/template/use.js +111 -0
  216. package/lib/cli/src/commands/update.d.ts +6 -0
  217. package/lib/cli/src/commands/update.js +87 -0
  218. package/lib/cli/src/config/bootstrap.config.d.ts +37 -0
  219. package/lib/cli/src/config/bootstrap.config.js +33 -0
  220. package/lib/cli/src/config/defaults.d.ts +46 -0
  221. package/lib/cli/src/config/defaults.js +79 -0
  222. package/lib/cli/src/config/key-router.d.ts +22 -0
  223. package/lib/cli/src/config/key-router.js +45 -0
  224. package/lib/cli/src/config/preferences-echo.d.ts +9 -0
  225. package/lib/cli/src/config/preferences-echo.js +61 -0
  226. package/lib/cli/src/config/preferences-resolver.d.ts +43 -0
  227. package/lib/cli/src/config/preferences-resolver.js +100 -0
  228. package/lib/cli/src/config/preferences-schema.d.ts +32 -0
  229. package/lib/cli/src/config/preferences-schema.js +53 -0
  230. package/lib/cli/src/hooks/command_not_found.d.ts +3 -0
  231. package/lib/cli/src/hooks/command_not_found.js +44 -0
  232. package/lib/cli/src/lib/api-client.d.ts +58 -0
  233. package/lib/cli/src/lib/api-client.js +162 -0
  234. package/lib/cli/src/lib/backup-client.d.ts +131 -0
  235. package/lib/cli/src/lib/backup-client.js +78 -0
  236. package/lib/cli/src/lib/browser-callback.d.ts +3 -0
  237. package/lib/cli/src/lib/browser-callback.js +83 -0
  238. package/lib/cli/src/lib/byos-precheck.d.ts +29 -0
  239. package/lib/cli/src/lib/byos-precheck.js +162 -0
  240. package/lib/cli/src/lib/ca-utils.d.ts +13 -0
  241. package/lib/cli/src/lib/ca-utils.js +72 -0
  242. package/lib/cli/src/lib/cli-credential-provider.service.d.ts +31 -0
  243. package/lib/cli/src/lib/cli-credential-provider.service.js +86 -0
  244. package/lib/cli/src/lib/config-storage.d.ts +128 -0
  245. package/lib/cli/src/lib/config-storage.js +349 -0
  246. package/lib/cli/src/lib/config.d.ts +23 -0
  247. package/lib/cli/src/lib/config.js +113 -0
  248. package/lib/cli/src/lib/context-banner.d.ts +12 -0
  249. package/lib/cli/src/lib/context-banner.js +25 -0
  250. package/lib/cli/src/lib/format-bytes.d.ts +1 -0
  251. package/lib/cli/src/lib/format-bytes.js +18 -0
  252. package/lib/cli/src/lib/framework-detector.d.ts +12 -0
  253. package/lib/cli/src/lib/framework-detector.js +216 -0
  254. package/lib/cli/src/lib/framework-postchecks.d.ts +11 -0
  255. package/lib/cli/src/lib/framework-postchecks.js +152 -0
  256. package/lib/cli/src/lib/nest-app.d.ts +17 -0
  257. package/lib/cli/src/lib/nest-app.js +69 -0
  258. package/lib/cli/src/lib/nip-base-domain.util.d.ts +8 -0
  259. package/lib/cli/src/lib/nip-base-domain.util.js +17 -0
  260. package/lib/cli/src/lib/profile-manager.d.ts +56 -0
  261. package/lib/cli/src/lib/profile-manager.js +207 -0
  262. package/lib/cli/src/lib/prompts.d.ts +67 -0
  263. package/lib/cli/src/lib/prompts.js +475 -0
  264. package/lib/cli/src/lib/provider-credential-schemas.d.ts +29 -0
  265. package/lib/cli/src/lib/provider-credential-schemas.js +48 -0
  266. package/lib/cli/src/lib/repositories/cli-cluster.repository.d.ts +56 -0
  267. package/lib/cli/src/lib/repositories/cli-cluster.repository.js +216 -0
  268. package/lib/cli/src/lib/repositories/cli-firewall.repository.d.ts +13 -0
  269. package/lib/cli/src/lib/repositories/cli-firewall.repository.js +147 -0
  270. package/lib/cli/src/lib/repositories/cli-node.repository.d.ts +26 -0
  271. package/lib/cli/src/lib/repositories/cli-node.repository.js +164 -0
  272. package/lib/cli/src/lib/repositories/cli-operation.repository.d.ts +57 -0
  273. package/lib/cli/src/lib/repositories/cli-operation.repository.js +226 -0
  274. package/lib/cli/src/lib/repositories/cli-vnet.repository.d.ts +22 -0
  275. package/lib/cli/src/lib/repositories/cli-vnet.repository.js +175 -0
  276. package/lib/cli/src/lib/repositories/index.d.ts +5 -0
  277. package/lib/cli/src/lib/repositories/index.js +21 -0
  278. package/lib/cli/src/lib/resolve-cluster.d.ts +16 -0
  279. package/lib/cli/src/lib/resolve-cluster.js +34 -0
  280. package/lib/cli/src/lib/scaleway-validator.d.ts +5 -0
  281. package/lib/cli/src/lib/scaleway-validator.js +87 -0
  282. package/lib/cli/src/lib/server-utils.d.ts +8 -0
  283. package/lib/cli/src/lib/server-utils.js +19 -0
  284. package/lib/cli/src/lib/services/cli-app.service.d.ts +294 -0
  285. package/lib/cli/src/lib/services/cli-app.service.js +162 -0
  286. package/lib/cli/src/lib/services/cli-node.service.d.ts +43 -0
  287. package/lib/cli/src/lib/services/cli-node.service.js +34 -0
  288. package/lib/cli/src/lib/services/provider-sync.service.d.ts +90 -0
  289. package/lib/cli/src/lib/services/provider-sync.service.js +178 -0
  290. package/lib/cli/src/lib/services/reconciliation.service.d.ts +40 -0
  291. package/lib/cli/src/lib/services/reconciliation.service.js +119 -0
  292. package/lib/cli/src/lib/services/vnet-provisioning.service.d.ts +37 -0
  293. package/lib/cli/src/lib/services/vnet-provisioning.service.js +164 -0
  294. package/lib/cli/src/lib/ssh-key.d.ts +23 -0
  295. package/lib/cli/src/lib/ssh-key.js +126 -0
  296. package/lib/cli/src/lib/template-fetcher.d.ts +25 -0
  297. package/lib/cli/src/lib/template-fetcher.js +48 -0
  298. package/lib/cli/src/lib/templates/firewall-rules.d.ts +8 -0
  299. package/lib/cli/src/lib/templates/firewall-rules.js +17 -0
  300. package/lib/cli/src/lib/typeorm-shim.d.ts +12 -0
  301. package/lib/cli/src/lib/typeorm-shim.js +17 -0
  302. package/lib/cli/src/lib/utils/env-file.d.ts +2 -0
  303. package/lib/cli/src/lib/utils/env-file.js +40 -0
  304. package/lib/cli/src/lib/utils/ip-detection.d.ts +27 -0
  305. package/lib/cli/src/lib/utils/ip-detection.js +144 -0
  306. package/lib/cli/src/modules/cli-infrastructure.module.d.ts +14 -0
  307. package/lib/cli/src/modules/cli-infrastructure.module.js +249 -0
  308. package/lib/cli/src/services/cli-ca.service.d.ts +62 -0
  309. package/lib/cli/src/services/cli-ca.service.js +281 -0
  310. package/lib/cli/src/services/cli-cluster-creator.service.d.ts +78 -0
  311. package/lib/cli/src/services/cli-cluster-creator.service.js +655 -0
  312. package/lib/cli/src/services/cli-clusters.service.d.ts +74 -0
  313. package/lib/cli/src/services/cli-clusters.service.js +762 -0
  314. package/lib/cli/src/services/cli-endpoint-resolver.service.d.ts +33 -0
  315. package/lib/cli/src/services/cli-endpoint-resolver.service.js +195 -0
  316. package/lib/cli/src/services/cli-k3s-script.service.d.ts +114 -0
  317. package/lib/cli/src/services/cli-k3s-script.service.js +288 -0
  318. package/lib/cli/src/services/cli-logger.service.d.ts +56 -0
  319. package/lib/cli/src/services/cli-logger.service.js +188 -0
  320. package/lib/cli/src/services/cli-observability-cluster.service.d.ts +128 -0
  321. package/lib/cli/src/services/cli-observability-cluster.service.js +525 -0
  322. package/lib/cli/src/services/cli-ssh.service.d.ts +90 -0
  323. package/lib/cli/src/services/cli-ssh.service.js +457 -0
  324. package/lib/cli/src/services/server-type-cache.service.d.ts +34 -0
  325. package/lib/cli/src/services/server-type-cache.service.js +156 -0
  326. package/lib/cli/src/services/server-type-validator.service.d.ts +80 -0
  327. package/lib/cli/src/services/server-type-validator.service.js +366 -0
  328. package/lib/cli/src/types/index.d.ts +41 -0
  329. package/lib/cli/src/types/index.js +2 -0
  330. package/lib/src/common/utils/project-root.util.d.ts +22 -0
  331. package/lib/src/common/utils/project-root.util.js +78 -0
  332. package/lib/src/modules/access/access.controller.d.ts +30 -0
  333. package/lib/src/modules/access/access.controller.js +336 -0
  334. package/lib/src/modules/access/access.module.d.ts +2 -0
  335. package/lib/src/modules/access/access.module.js +92 -0
  336. package/lib/src/modules/access/controllers/ca.controller.d.ts +22 -0
  337. package/lib/src/modules/access/controllers/ca.controller.js +242 -0
  338. package/lib/src/modules/access/dto/api-token.dto.d.ts +11 -0
  339. package/lib/src/modules/access/dto/api-token.dto.js +74 -0
  340. package/lib/src/modules/access/dto/bearer-token.dto.d.ts +7 -0
  341. package/lib/src/modules/access/dto/bearer-token.dto.js +36 -0
  342. package/lib/src/modules/access/dto/ca-public-key.dto.d.ts +7 -0
  343. package/lib/src/modules/access/dto/ca-public-key.dto.js +52 -0
  344. package/lib/src/modules/access/dto/create-api-token.dto.d.ts +7 -0
  345. package/lib/src/modules/access/dto/create-api-token.dto.js +64 -0
  346. package/lib/src/modules/access/dto/create-bearer-token.dto.d.ts +9 -0
  347. package/lib/src/modules/access/dto/create-bearer-token.dto.js +58 -0
  348. package/lib/src/modules/access/dto/create-ssh-key.dto.d.ts +7 -0
  349. package/lib/src/modules/access/dto/create-ssh-key.dto.js +61 -0
  350. package/lib/src/modules/access/dto/refresh-token.dto.d.ts +7 -0
  351. package/lib/src/modules/access/dto/refresh-token.dto.js +46 -0
  352. package/lib/src/modules/access/dto/register-ca.dto.d.ts +16 -0
  353. package/lib/src/modules/access/dto/register-ca.dto.js +111 -0
  354. package/lib/src/modules/access/dto/ssh-key.dto.d.ts +20 -0
  355. package/lib/src/modules/access/dto/ssh-key.dto.js +124 -0
  356. package/lib/src/modules/access/dto/update-ssh-key.dto.d.ts +7 -0
  357. package/lib/src/modules/access/dto/update-ssh-key.dto.js +73 -0
  358. package/lib/src/modules/access/entities/api-token.entity.d.ts +30 -0
  359. package/lib/src/modules/access/entities/api-token.entity.js +87 -0
  360. package/lib/src/modules/access/entities/ca-keypair.entity.d.ts +13 -0
  361. package/lib/src/modules/access/entities/ca-keypair.entity.js +63 -0
  362. package/lib/src/modules/access/entities/credentials.entity.d.ts +18 -0
  363. package/lib/src/modules/access/entities/credentials.entity.js +87 -0
  364. package/lib/src/modules/access/entities/ssh-key.entity.d.ts +15 -0
  365. package/lib/src/modules/access/entities/ssh-key.entity.js +81 -0
  366. package/lib/src/modules/access/enums/credential-purpose.enum.d.ts +4 -0
  367. package/lib/src/modules/access/enums/credential-purpose.enum.js +8 -0
  368. package/lib/src/modules/access/interfaces/access.repository.d.ts +11 -0
  369. package/lib/src/modules/access/interfaces/access.repository.js +2 -0
  370. package/lib/src/modules/access/interfaces/ssh-key.interface.d.ts +26 -0
  371. package/lib/src/modules/access/interfaces/ssh-key.interface.js +2 -0
  372. package/lib/src/modules/access/mapper/api-token.mapper.d.ts +6 -0
  373. package/lib/src/modules/access/mapper/api-token.mapper.js +21 -0
  374. package/lib/src/modules/access/mapper/ssh-key.mapper.d.ts +6 -0
  375. package/lib/src/modules/access/mapper/ssh-key.mapper.js +25 -0
  376. package/lib/src/modules/access/providers/contabo-ssh-provider.service.d.ts +13 -0
  377. package/lib/src/modules/access/providers/contabo-ssh-provider.service.js +40 -0
  378. package/lib/src/modules/access/providers/hetzner-ssh-provider.service.d.ts +17 -0
  379. package/lib/src/modules/access/providers/hetzner-ssh-provider.service.js +95 -0
  380. package/lib/src/modules/access/providers/interfaces/ssh-provider.interface.d.ts +8 -0
  381. package/lib/src/modules/access/providers/interfaces/ssh-provider.interface.js +3 -0
  382. package/lib/src/modules/access/providers/ssh-provider.factory.d.ts +13 -0
  383. package/lib/src/modules/access/providers/ssh-provider.factory.js +44 -0
  384. package/lib/src/modules/access/repositories/api-token.repository.d.ts +24 -0
  385. package/lib/src/modules/access/repositories/api-token.repository.js +99 -0
  386. package/lib/src/modules/access/repositories/default-access.repository.d.ts +16 -0
  387. package/lib/src/modules/access/repositories/default-access.repository.js +121 -0
  388. package/lib/src/modules/access/repositories/provider-credentials.repository.d.ts +17 -0
  389. package/lib/src/modules/access/repositories/provider-credentials.repository.js +106 -0
  390. package/lib/src/modules/access/services/access.service.d.ts +180 -0
  391. package/lib/src/modules/access/services/access.service.js +732 -0
  392. package/lib/src/modules/access/services/bearerToken.service.d.ts +15 -0
  393. package/lib/src/modules/access/services/bearerToken.service.js +107 -0
  394. package/lib/src/modules/access/services/ca-manager.service.d.ts +48 -0
  395. package/lib/src/modules/access/services/ca-manager.service.js +293 -0
  396. package/lib/src/modules/access/services/certificate-signer.service.d.ts +36 -0
  397. package/lib/src/modules/access/services/certificate-signer.service.js +155 -0
  398. package/lib/src/modules/access/services/key-storage.service.d.ts +17 -0
  399. package/lib/src/modules/access/services/key-storage.service.js +133 -0
  400. package/lib/src/modules/access/services/ssh-key-generator.service.d.ts +6 -0
  401. package/lib/src/modules/access/services/ssh-key-generator.service.js +51 -0
  402. package/lib/src/modules/app-builds/entities/app-build.entity.d.ts +38 -0
  403. package/lib/src/modules/app-builds/entities/app-build.entity.js +168 -0
  404. package/lib/src/modules/app-builds/enums/app-build-status.enum.d.ts +10 -0
  405. package/lib/src/modules/app-builds/enums/app-build-status.enum.js +14 -0
  406. package/lib/src/modules/app-builds/enums/build-provider.enum.d.ts +6 -0
  407. package/lib/src/modules/app-builds/enums/build-provider.enum.js +10 -0
  408. package/lib/src/modules/app-builds/services/build-job.service.d.ts +178 -0
  409. package/lib/src/modules/app-builds/services/build-job.service.js +1057 -0
  410. package/lib/src/modules/applications/entities/app-resource.entity.d.ts +24 -0
  411. package/lib/src/modules/applications/entities/app-resource.entity.js +117 -0
  412. package/lib/src/modules/applications/entities/app-revision.entity.d.ts +29 -0
  413. package/lib/src/modules/applications/entities/app-revision.entity.js +133 -0
  414. package/lib/src/modules/applications/entities/application.entity.d.ts +121 -0
  415. package/lib/src/modules/applications/entities/application.entity.js +279 -0
  416. package/lib/src/modules/applications/enums/app-event-type.enum.d.ts +24 -0
  417. package/lib/src/modules/applications/enums/app-event-type.enum.js +28 -0
  418. package/lib/src/modules/applications/enums/application-category.enum.d.ts +4 -0
  419. package/lib/src/modules/applications/enums/application-category.enum.js +8 -0
  420. package/lib/src/modules/applications/enums/application-exposure.enum.d.ts +4 -0
  421. package/lib/src/modules/applications/enums/application-exposure.enum.js +8 -0
  422. package/lib/src/modules/applications/enums/application-kind.enum.d.ts +6 -0
  423. package/lib/src/modules/applications/enums/application-kind.enum.js +10 -0
  424. package/lib/src/modules/applications/enums/application-resource-kind.enum.d.ts +17 -0
  425. package/lib/src/modules/applications/enums/application-resource-kind.enum.js +21 -0
  426. package/lib/src/modules/applications/enums/application-resource-status.enum.d.ts +8 -0
  427. package/lib/src/modules/applications/enums/application-resource-status.enum.js +12 -0
  428. package/lib/src/modules/applications/enums/application-source-type.enum.d.ts +6 -0
  429. package/lib/src/modules/applications/enums/application-source-type.enum.js +10 -0
  430. package/lib/src/modules/applications/enums/application-status.enum.d.ts +20 -0
  431. package/lib/src/modules/applications/enums/application-status.enum.js +24 -0
  432. package/lib/src/modules/applications/interfaces/source-config.interface.d.ts +132 -0
  433. package/lib/src/modules/applications/interfaces/source-config.interface.js +2 -0
  434. package/lib/src/modules/auth/decorators/admin.decorator.d.ts +2 -0
  435. package/lib/src/modules/auth/decorators/admin.decorator.js +7 -0
  436. package/lib/src/modules/auth/entities/user.entity.d.ts +19 -0
  437. package/lib/src/modules/auth/entities/user.entity.js +78 -0
  438. package/lib/src/modules/auth/guards/admin.guard.d.ts +7 -0
  439. package/lib/src/modules/auth/guards/admin.guard.js +50 -0
  440. package/lib/src/modules/auth/interfaces/authenticated-user.interface.d.ts +12 -0
  441. package/lib/src/modules/auth/interfaces/authenticated-user.interface.js +2 -0
  442. package/lib/src/modules/common/cache/cache.service.d.ts +77 -0
  443. package/lib/src/modules/common/cache/cache.service.js +232 -0
  444. package/lib/src/modules/common/cache/cache.tokens.d.ts +1 -0
  445. package/lib/src/modules/common/cache/cache.tokens.js +4 -0
  446. package/lib/src/modules/common/cache/enums/cache-category.enum.d.ts +33 -0
  447. package/lib/src/modules/common/cache/enums/cache-category.enum.js +42 -0
  448. package/lib/src/modules/common/common.module.d.ts +2 -0
  449. package/lib/src/modules/common/common.module.js +20 -0
  450. package/lib/src/modules/common/dto/async-operation-response.dto.d.ts +19 -0
  451. package/lib/src/modules/common/dto/async-operation-response.dto.js +65 -0
  452. package/lib/src/modules/common/dto/index.d.ts +1 -0
  453. package/lib/src/modules/common/dto/index.js +17 -0
  454. package/lib/src/modules/common/services/label.service.d.ts +70 -0
  455. package/lib/src/modules/common/services/label.service.js +128 -0
  456. package/lib/src/modules/dns/entities/app-endpoint.entity.d.ts +57 -0
  457. package/lib/src/modules/dns/entities/app-endpoint.entity.js +205 -0
  458. package/lib/src/modules/dns/entities/cluster-dns-zone.entity.d.ts +21 -0
  459. package/lib/src/modules/dns/entities/cluster-dns-zone.entity.js +88 -0
  460. package/lib/src/modules/dns/entities/dns-zone.entity.d.ts +12 -0
  461. package/lib/src/modules/dns/entities/dns-zone.entity.js +53 -0
  462. package/lib/src/modules/dns/entities/san-certificate.entity.d.ts +29 -0
  463. package/lib/src/modules/dns/entities/san-certificate.entity.js +132 -0
  464. package/lib/src/modules/dns/entities/wildcard-certificate.entity.d.ts +26 -0
  465. package/lib/src/modules/dns/entities/wildcard-certificate.entity.js +111 -0
  466. package/lib/src/modules/dns/enums/cert-challenge.enum.d.ts +4 -0
  467. package/lib/src/modules/dns/enums/cert-challenge.enum.js +8 -0
  468. package/lib/src/modules/dns/enums/endpoint-type.enum.d.ts +4 -0
  469. package/lib/src/modules/dns/enums/endpoint-type.enum.js +8 -0
  470. package/lib/src/modules/dns/enums/hostname-mode.enum.d.ts +4 -0
  471. package/lib/src/modules/dns/enums/hostname-mode.enum.js +8 -0
  472. package/lib/src/modules/dns/services/cluster-dns-cleanup.service.d.ts +12 -0
  473. package/lib/src/modules/dns/services/cluster-dns-cleanup.service.js +79 -0
  474. package/lib/src/modules/dns/utils/nip-hostname.util.d.ts +12 -0
  475. package/lib/src/modules/dns/utils/nip-hostname.util.js +27 -0
  476. package/lib/src/modules/dns/utils/nip-token.util.d.ts +2 -0
  477. package/lib/src/modules/dns/utils/nip-token.util.js +94 -0
  478. package/lib/src/modules/frameworks/framework-core/enums/build-stage.enum.d.ts +21 -0
  479. package/lib/src/modules/frameworks/framework-core/enums/build-stage.enum.js +29 -0
  480. package/lib/src/modules/frameworks/framework-core/enums/deploy-strategy.enum.d.ts +22 -0
  481. package/lib/src/modules/frameworks/framework-core/enums/deploy-strategy.enum.js +26 -0
  482. package/lib/src/modules/frameworks/framework-core/enums/framework-type.enum.d.ts +32 -0
  483. package/lib/src/modules/frameworks/framework-core/enums/framework-type.enum.js +47 -0
  484. package/lib/src/modules/grafana/services/grafana-config.service.d.ts +43 -0
  485. package/lib/src/modules/grafana/services/grafana-config.service.js +177 -0
  486. package/lib/src/modules/grafana/services/grafana-datasource.service.d.ts +70 -0
  487. package/lib/src/modules/grafana/services/grafana-datasource.service.js +333 -0
  488. package/lib/src/modules/infrastructure/clusters/clusters.service.d.ts +126 -0
  489. package/lib/src/modules/infrastructure/clusters/clusters.service.js +265 -0
  490. package/lib/src/modules/infrastructure/clusters/constants/storage-conventions.d.ts +60 -0
  491. package/lib/src/modules/infrastructure/clusters/constants/storage-conventions.js +64 -0
  492. package/lib/src/modules/infrastructure/clusters/dto/build-resources.dto.d.ts +19 -0
  493. package/lib/src/modules/infrastructure/clusters/dto/build-resources.dto.js +69 -0
  494. package/lib/src/modules/infrastructure/clusters/dto/cluster-capacity-plan.dto.d.ts +36 -0
  495. package/lib/src/modules/infrastructure/clusters/dto/cluster-capacity-plan.dto.js +149 -0
  496. package/lib/src/modules/infrastructure/clusters/dto/cluster-power-management.dto.d.ts +51 -0
  497. package/lib/src/modules/infrastructure/clusters/dto/cluster-power-management.dto.js +222 -0
  498. package/lib/src/modules/infrastructure/clusters/dto/cluster-response.dto.d.ts +42 -0
  499. package/lib/src/modules/infrastructure/clusters/dto/cluster-response.dto.js +238 -0
  500. package/lib/src/modules/infrastructure/clusters/dto/cluster-storage.dto.d.ts +35 -0
  501. package/lib/src/modules/infrastructure/clusters/dto/cluster-storage.dto.js +122 -0
  502. package/lib/src/modules/infrastructure/clusters/dto/create-cluster.dto.d.ts +43 -0
  503. package/lib/src/modules/infrastructure/clusters/dto/create-cluster.dto.js +334 -0
  504. package/lib/src/modules/infrastructure/clusters/dto/register-cluster.dto.d.ts +30 -0
  505. package/lib/src/modules/infrastructure/clusters/dto/register-cluster.dto.js +190 -0
  506. package/lib/src/modules/infrastructure/clusters/dto/resource-availability.dto.d.ts +15 -0
  507. package/lib/src/modules/infrastructure/clusters/dto/resource-availability.dto.js +91 -0
  508. package/lib/src/modules/infrastructure/clusters/entities/cluster-node.entity.d.ts +28 -0
  509. package/lib/src/modules/infrastructure/clusters/entities/cluster-node.entity.js +104 -0
  510. package/lib/src/modules/infrastructure/clusters/entities/cluster.entity.d.ts +64 -0
  511. package/lib/src/modules/infrastructure/clusters/entities/cluster.entity.js +199 -0
  512. package/lib/src/modules/infrastructure/clusters/entities/node-billable-interval.entity.d.ts +17 -0
  513. package/lib/src/modules/infrastructure/clusters/entities/node-billable-interval.entity.js +86 -0
  514. package/lib/src/modules/infrastructure/clusters/entities/volume-billable-interval.entity.d.ts +18 -0
  515. package/lib/src/modules/infrastructure/clusters/entities/volume-billable-interval.entity.js +79 -0
  516. package/lib/src/modules/infrastructure/clusters/services/billing-intervals.service.d.ts +48 -0
  517. package/lib/src/modules/infrastructure/clusters/services/billing-intervals.service.js +159 -0
  518. package/lib/src/modules/infrastructure/clusters/services/cluster-capacity.service.d.ts +23 -0
  519. package/lib/src/modules/infrastructure/clusters/services/cluster-capacity.service.js +198 -0
  520. package/lib/src/modules/infrastructure/clusters/services/cluster-creation.service.d.ts +25 -0
  521. package/lib/src/modules/infrastructure/clusters/services/cluster-creation.service.js +192 -0
  522. package/lib/src/modules/infrastructure/clusters/services/cluster-deletion.service.d.ts +36 -0
  523. package/lib/src/modules/infrastructure/clusters/services/cluster-deletion.service.js +159 -0
  524. package/lib/src/modules/infrastructure/clusters/services/cluster-firewall-integration.service.d.ts +25 -0
  525. package/lib/src/modules/infrastructure/clusters/services/cluster-firewall-integration.service.js +90 -0
  526. package/lib/src/modules/infrastructure/clusters/services/cluster-mapper.service.d.ts +15 -0
  527. package/lib/src/modules/infrastructure/clusters/services/cluster-mapper.service.js +63 -0
  528. package/lib/src/modules/infrastructure/clusters/services/cluster-node-scaling.service.d.ts +78 -0
  529. package/lib/src/modules/infrastructure/clusters/services/cluster-node-scaling.service.js +644 -0
  530. package/lib/src/modules/infrastructure/clusters/services/cluster-operations.service.d.ts +37 -0
  531. package/lib/src/modules/infrastructure/clusters/services/cluster-operations.service.js +244 -0
  532. package/lib/src/modules/infrastructure/clusters/services/cluster-power-management.service.d.ts +68 -0
  533. package/lib/src/modules/infrastructure/clusters/services/cluster-power-management.service.js +716 -0
  534. package/lib/src/modules/infrastructure/clusters/services/cluster-storage.service.d.ts +15 -0
  535. package/lib/src/modules/infrastructure/clusters/services/cluster-storage.service.js +179 -0
  536. package/lib/src/modules/infrastructure/clusters/services/cluster-validation.service.d.ts +29 -0
  537. package/lib/src/modules/infrastructure/clusters/services/cluster-validation.service.js +100 -0
  538. package/lib/src/modules/infrastructure/firewalls/dto/cluster-firewall.dto.d.ts +62 -0
  539. package/lib/src/modules/infrastructure/firewalls/dto/cluster-firewall.dto.js +252 -0
  540. package/lib/src/modules/infrastructure/firewalls/entities/cluster-firewall.entity.d.ts +20 -0
  541. package/lib/src/modules/infrastructure/firewalls/entities/cluster-firewall.entity.js +83 -0
  542. package/lib/src/modules/infrastructure/firewalls/services/firewall-desired-state.service.d.ts +73 -0
  543. package/lib/src/modules/infrastructure/firewalls/services/firewall-desired-state.service.js +329 -0
  544. package/lib/src/modules/infrastructure/firewalls/services/firewall-reconciliation.service.d.ts +43 -0
  545. package/lib/src/modules/infrastructure/firewalls/services/firewall-reconciliation.service.js +212 -0
  546. package/lib/src/modules/infrastructure/firewalls/templates/firewall-rules.template.d.ts +54 -0
  547. package/lib/src/modules/infrastructure/firewalls/templates/firewall-rules.template.js +167 -0
  548. package/lib/src/modules/infrastructure/operations/helpers/operation-steps.helper.d.ts +34 -0
  549. package/lib/src/modules/infrastructure/operations/helpers/operation-steps.helper.js +401 -0
  550. package/lib/src/modules/infrastructure/servers/dto/create-server.dto.d.ts +40 -0
  551. package/lib/src/modules/infrastructure/servers/dto/create-server.dto.js +157 -0
  552. package/lib/src/modules/infrastructure/servers/dto/delete-server.dto.d.ts +17 -0
  553. package/lib/src/modules/infrastructure/servers/dto/delete-server.dto.js +85 -0
  554. package/lib/src/modules/infrastructure/servers/dto/server-response.dto.d.ts +29 -0
  555. package/lib/src/modules/infrastructure/servers/dto/server-response.dto.js +147 -0
  556. package/lib/src/modules/infrastructure/servers/entities/infrastructure-operations.entity.d.ts +266 -0
  557. package/lib/src/modules/infrastructure/servers/entities/infrastructure-operations.entity.js +348 -0
  558. package/lib/src/modules/infrastructure/shared/enums/reconciliation-status.enum.d.ts +7 -0
  559. package/lib/src/modules/infrastructure/shared/enums/reconciliation-status.enum.js +11 -0
  560. package/lib/src/modules/infrastructure/shared/services/kubernetes.service.d.ts +304 -0
  561. package/lib/src/modules/infrastructure/shared/services/kubernetes.service.js +1164 -0
  562. package/lib/src/modules/infrastructure/shared/services/label.service.d.ts +97 -0
  563. package/lib/src/modules/infrastructure/shared/services/label.service.js +189 -0
  564. package/lib/src/modules/infrastructure/shared/shared-infrastructure.module.d.ts +2 -0
  565. package/lib/src/modules/infrastructure/shared/shared-infrastructure.module.js +24 -0
  566. package/lib/src/modules/infrastructure/vnets/entities/vnet-route.entity.d.ts +10 -0
  567. package/lib/src/modules/infrastructure/vnets/entities/vnet-route.entity.js +51 -0
  568. package/lib/src/modules/infrastructure/vnets/entities/vnet-subnet.entity.d.ts +20 -0
  569. package/lib/src/modules/infrastructure/vnets/entities/vnet-subnet.entity.js +77 -0
  570. package/lib/src/modules/infrastructure/vnets/entities/vnet.entity.d.ts +28 -0
  571. package/lib/src/modules/infrastructure/vnets/entities/vnet.entity.js +88 -0
  572. package/lib/src/modules/instances/entities/instance-status.enum.d.ts +12 -0
  573. package/lib/src/modules/instances/entities/instance-status.enum.js +16 -0
  574. package/lib/src/modules/instances/entities/instance-type.enum.d.ts +6 -0
  575. package/lib/src/modules/instances/entities/instance-type.enum.js +10 -0
  576. package/lib/src/modules/instances/entities/instance.entity.d.ts +41 -0
  577. package/lib/src/modules/instances/entities/instance.entity.js +126 -0
  578. package/lib/src/modules/management/dto/configure-provider.dto.d.ts +8 -0
  579. package/lib/src/modules/management/dto/configure-provider.dto.js +51 -0
  580. package/lib/src/modules/management/dto/credentials.dto.d.ts +15 -0
  581. package/lib/src/modules/management/dto/credentials.dto.js +114 -0
  582. package/lib/src/modules/management/dto/health-status.dto.d.ts +12 -0
  583. package/lib/src/modules/management/dto/health-status.dto.js +40 -0
  584. package/lib/src/modules/management/dto/node-size-option.dto.d.ts +37 -0
  585. package/lib/src/modules/management/dto/node-size-option.dto.js +178 -0
  586. package/lib/src/modules/management/dto/pricing-query.dto.d.ts +5 -0
  587. package/lib/src/modules/management/dto/pricing-query.dto.js +36 -0
  588. package/lib/src/modules/management/dto/pricing-response.dto.d.ts +21 -0
  589. package/lib/src/modules/management/dto/pricing-response.dto.js +80 -0
  590. package/lib/src/modules/management/dto/provider-configuration.dto.d.ts +23 -0
  591. package/lib/src/modules/management/dto/provider-configuration.dto.js +72 -0
  592. package/lib/src/modules/management/dto/provider-filters.dto.d.ts +7 -0
  593. package/lib/src/modules/management/dto/provider-filters.dto.js +45 -0
  594. package/lib/src/modules/management/dto/validation-result.dto.d.ts +16 -0
  595. package/lib/src/modules/management/dto/validation-result.dto.js +35 -0
  596. package/lib/src/modules/management/entities/credentials.entity.d.ts +21 -0
  597. package/lib/src/modules/management/entities/credentials.entity.js +10 -0
  598. package/lib/src/modules/management/entities/provider-capabilities.entity.d.ts +85 -0
  599. package/lib/src/modules/management/entities/provider-capabilities.entity.js +2 -0
  600. package/lib/src/modules/management/entities/provider-configuration.entity.d.ts +14 -0
  601. package/lib/src/modules/management/entities/provider-configuration.entity.js +65 -0
  602. package/lib/src/modules/management/entities/provider-definition.entity.d.ts +19 -0
  603. package/lib/src/modules/management/entities/provider-definition.entity.js +2 -0
  604. package/lib/src/modules/management/entities/provider-region.entity.d.ts +11 -0
  605. package/lib/src/modules/management/entities/provider-region.entity.js +2 -0
  606. package/lib/src/modules/management/entities/provider-status.enum.d.ts +8 -0
  607. package/lib/src/modules/management/entities/provider-status.enum.js +12 -0
  608. package/lib/src/modules/management/interfaces/provider-configuration.repository.interface.d.ts +17 -0
  609. package/lib/src/modules/management/interfaces/provider-configuration.repository.interface.js +2 -0
  610. package/lib/src/modules/management/repositories/provider-configuration.repository.d.ts +21 -0
  611. package/lib/src/modules/management/repositories/provider-configuration.repository.js +89 -0
  612. package/lib/src/modules/management/services/configuration-mode.service.d.ts +20 -0
  613. package/lib/src/modules/management/services/configuration-mode.service.js +54 -0
  614. package/lib/src/modules/management/services/management.service.d.ts +72 -0
  615. package/lib/src/modules/management/services/management.service.js +546 -0
  616. package/lib/src/modules/management/services/provider-definitions.service.d.ts +26 -0
  617. package/lib/src/modules/management/services/provider-definitions.service.js +133 -0
  618. package/lib/src/modules/providers/controllers/provider-firewalls.controller.d.ts +28 -0
  619. package/lib/src/modules/providers/controllers/provider-firewalls.controller.js +277 -0
  620. package/lib/src/modules/providers/core/factories/capabilities-provider.factory.d.ts +10 -0
  621. package/lib/src/modules/providers/core/factories/capabilities-provider.factory.js +39 -0
  622. package/lib/src/modules/providers/core/factories/certificate-provider.factory.d.ts +11 -0
  623. package/lib/src/modules/providers/core/factories/certificate-provider.factory.js +58 -0
  624. package/lib/src/modules/providers/core/factories/dns-provider.factory.d.ts +12 -0
  625. package/lib/src/modules/providers/core/factories/dns-provider.factory.js +65 -0
  626. package/lib/src/modules/providers/core/factories/firewall-provider.factory.d.ts +12 -0
  627. package/lib/src/modules/providers/core/factories/firewall-provider.factory.js +61 -0
  628. package/lib/src/modules/providers/core/factories/provider.factory.d.ts +9 -0
  629. package/lib/src/modules/providers/core/factories/provider.factory.js +47 -0
  630. package/lib/src/modules/providers/core/factories/vm-backup-provider.factory.d.ts +12 -0
  631. package/lib/src/modules/providers/core/factories/vm-backup-provider.factory.js +56 -0
  632. package/lib/src/modules/providers/core/factories/volume-export.factory.d.ts +12 -0
  633. package/lib/src/modules/providers/core/factories/volume-export.factory.js +56 -0
  634. package/lib/src/modules/providers/core/interfaces/certificate-provider.interface.d.ts +1 -0
  635. package/lib/src/modules/providers/core/interfaces/certificate-provider.interface.js +17 -0
  636. package/lib/src/modules/providers/core/interfaces/cloud-provider.interface.d.ts +1 -0
  637. package/lib/src/modules/providers/core/interfaces/cloud-provider.interface.js +17 -0
  638. package/lib/src/modules/providers/core/interfaces/dns-provider.interface.d.ts +1 -0
  639. package/lib/src/modules/providers/core/interfaces/dns-provider.interface.js +17 -0
  640. package/lib/src/modules/providers/core/interfaces/firewall-provider.interface.d.ts +1 -0
  641. package/lib/src/modules/providers/core/interfaces/firewall-provider.interface.js +17 -0
  642. package/lib/src/modules/providers/core/interfaces/provider-bootstrap-seeder.interface.d.ts +54 -0
  643. package/lib/src/modules/providers/core/interfaces/provider-bootstrap-seeder.interface.js +2 -0
  644. package/lib/src/modules/providers/core/tokens.d.ts +59 -0
  645. package/lib/src/modules/providers/core/tokens.js +19 -0
  646. package/lib/src/modules/providers/data/region-coordinates.d.ts +6 -0
  647. package/lib/src/modules/providers/data/region-coordinates.js +25 -0
  648. package/lib/src/modules/providers/dto/firewall.dto.d.ts +30 -0
  649. package/lib/src/modules/providers/dto/firewall.dto.js +105 -0
  650. package/lib/src/modules/providers/dto/node-size.dto.d.ts +46 -0
  651. package/lib/src/modules/providers/dto/node-size.dto.js +22 -0
  652. package/lib/src/modules/providers/dto/pricing.dto.d.ts +24 -0
  653. package/lib/src/modules/providers/dto/pricing.dto.js +19 -0
  654. package/lib/src/modules/providers/dto/provider-firewall-response.dto.d.ts +28 -0
  655. package/lib/src/modules/providers/dto/provider-firewall-response.dto.js +134 -0
  656. package/lib/src/modules/providers/enums/certificate-provider.enum.d.ts +4 -0
  657. package/lib/src/modules/providers/enums/certificate-provider.enum.js +8 -0
  658. package/lib/src/modules/providers/enums/cloud-provider.enum.d.ts +5 -0
  659. package/lib/src/modules/providers/enums/cloud-provider.enum.js +9 -0
  660. package/lib/src/modules/providers/enums/dns-provider.enum.d.ts +5 -0
  661. package/lib/src/modules/providers/enums/dns-provider.enum.js +9 -0
  662. package/lib/src/modules/providers/implementations/contabo/contabo-capabilities.service.d.ts +19 -0
  663. package/lib/src/modules/providers/implementations/contabo/contabo-capabilities.service.js +254 -0
  664. package/lib/src/modules/providers/implementations/contabo/contabo-provider.module.d.ts +10 -0
  665. package/lib/src/modules/providers/implementations/contabo/contabo-provider.module.js +72 -0
  666. package/lib/src/modules/providers/implementations/contabo/generated/api.d.ts +13374 -0
  667. package/lib/src/modules/providers/implementations/contabo/generated/api.js +11341 -0
  668. package/lib/src/modules/providers/implementations/contabo/generated/base.d.ts +66 -0
  669. package/lib/src/modules/providers/implementations/contabo/generated/base.js +66 -0
  670. package/lib/src/modules/providers/implementations/contabo/generated/common.d.ts +65 -0
  671. package/lib/src/modules/providers/implementations/contabo/generated/common.js +152 -0
  672. package/lib/src/modules/providers/implementations/contabo/generated/configuration.d.ts +91 -0
  673. package/lib/src/modules/providers/implementations/contabo/generated/configuration.js +50 -0
  674. package/lib/src/modules/providers/implementations/contabo/generated/index.d.ts +13 -0
  675. package/lib/src/modules/providers/implementations/contabo/generated/index.js +31 -0
  676. package/lib/src/modules/providers/implementations/hetzner/generated/api.d.ts +18419 -0
  677. package/lib/src/modules/providers/implementations/hetzner/generated/api.js +19133 -0
  678. package/lib/src/modules/providers/implementations/hetzner/generated/base.d.ts +66 -0
  679. package/lib/src/modules/providers/implementations/hetzner/generated/base.js +66 -0
  680. package/lib/src/modules/providers/implementations/hetzner/generated/common.d.ts +65 -0
  681. package/lib/src/modules/providers/implementations/hetzner/generated/common.js +152 -0
  682. package/lib/src/modules/providers/implementations/hetzner/generated/configuration.d.ts +91 -0
  683. package/lib/src/modules/providers/implementations/hetzner/generated/configuration.js +50 -0
  684. package/lib/src/modules/providers/implementations/hetzner/generated/index.d.ts +13 -0
  685. package/lib/src/modules/providers/implementations/hetzner/generated/index.js +31 -0
  686. package/lib/src/modules/providers/implementations/hetzner/hetzner-bootstrap-seeder.service.d.ts +19 -0
  687. package/lib/src/modules/providers/implementations/hetzner/hetzner-bootstrap-seeder.service.js +68 -0
  688. package/lib/src/modules/providers/implementations/hetzner/hetzner-capabilities.service.d.ts +29 -0
  689. package/lib/src/modules/providers/implementations/hetzner/hetzner-capabilities.service.js +392 -0
  690. package/lib/src/modules/providers/implementations/hetzner/hetzner-provider.module.d.ts +2 -0
  691. package/lib/src/modules/providers/implementations/hetzner/hetzner-provider.module.js +81 -0
  692. package/lib/src/modules/providers/implementations/hetzner/hetzner-volume-operations.service.d.ts +31 -0
  693. package/lib/src/modules/providers/implementations/hetzner/hetzner-volume-operations.service.js +312 -0
  694. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage-connection.controller.d.ts +18 -0
  695. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage-connection.controller.js +67 -0
  696. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage-connection.service.d.ts +24 -0
  697. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage-connection.service.js +107 -0
  698. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage.backend.d.ts +7 -0
  699. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage.backend.js +35 -0
  700. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage.module.d.ts +8 -0
  701. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage.module.js +60 -0
  702. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage.provisioner.d.ts +22 -0
  703. package/lib/src/modules/providers/implementations/hetzner/object-storage/hetzner-object-storage.provisioner.js +100 -0
  704. package/lib/src/modules/providers/implementations/hetzner/vm-backup/hetzner-vm-backup.service.d.ts +20 -0
  705. package/lib/src/modules/providers/implementations/hetzner/vm-backup/hetzner-vm-backup.service.js +118 -0
  706. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/api.d.ts +4227 -0
  707. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/api.js +3362 -0
  708. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/base.d.ts +66 -0
  709. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/base.js +66 -0
  710. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/common.d.ts +65 -0
  711. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/common.js +152 -0
  712. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/configuration.d.ts +91 -0
  713. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/configuration.js +50 -0
  714. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/index.d.ts +13 -0
  715. package/lib/src/modules/providers/implementations/scaleway/generated/baremetal/index.js +31 -0
  716. package/lib/src/modules/providers/implementations/scaleway/generated/domain/api.d.ts +2486 -0
  717. package/lib/src/modules/providers/implementations/scaleway/generated/domain/api.js +2424 -0
  718. package/lib/src/modules/providers/implementations/scaleway/generated/domain/base.d.ts +66 -0
  719. package/lib/src/modules/providers/implementations/scaleway/generated/domain/base.js +66 -0
  720. package/lib/src/modules/providers/implementations/scaleway/generated/domain/common.d.ts +65 -0
  721. package/lib/src/modules/providers/implementations/scaleway/generated/domain/common.js +152 -0
  722. package/lib/src/modules/providers/implementations/scaleway/generated/domain/configuration.d.ts +91 -0
  723. package/lib/src/modules/providers/implementations/scaleway/generated/domain/configuration.js +50 -0
  724. package/lib/src/modules/providers/implementations/scaleway/generated/domain/index.d.ts +13 -0
  725. package/lib/src/modules/providers/implementations/scaleway/generated/domain/index.js +31 -0
  726. package/lib/src/modules/providers/implementations/scaleway/generated/iam/api.d.ts +6425 -0
  727. package/lib/src/modules/providers/implementations/scaleway/generated/iam/api.js +6925 -0
  728. package/lib/src/modules/providers/implementations/scaleway/generated/iam/base.d.ts +66 -0
  729. package/lib/src/modules/providers/implementations/scaleway/generated/iam/base.js +66 -0
  730. package/lib/src/modules/providers/implementations/scaleway/generated/iam/common.d.ts +65 -0
  731. package/lib/src/modules/providers/implementations/scaleway/generated/iam/common.js +152 -0
  732. package/lib/src/modules/providers/implementations/scaleway/generated/iam/configuration.d.ts +91 -0
  733. package/lib/src/modules/providers/implementations/scaleway/generated/iam/configuration.js +50 -0
  734. package/lib/src/modules/providers/implementations/scaleway/generated/iam/index.d.ts +13 -0
  735. package/lib/src/modules/providers/implementations/scaleway/generated/iam/index.js +31 -0
  736. package/lib/src/modules/providers/implementations/scaleway/generated/instances/api.d.ts +11187 -0
  737. package/lib/src/modules/providers/implementations/scaleway/generated/instances/api.js +9264 -0
  738. package/lib/src/modules/providers/implementations/scaleway/generated/instances/base.d.ts +66 -0
  739. package/lib/src/modules/providers/implementations/scaleway/generated/instances/base.js +66 -0
  740. package/lib/src/modules/providers/implementations/scaleway/generated/instances/common.d.ts +65 -0
  741. package/lib/src/modules/providers/implementations/scaleway/generated/instances/common.js +152 -0
  742. package/lib/src/modules/providers/implementations/scaleway/generated/instances/configuration.d.ts +91 -0
  743. package/lib/src/modules/providers/implementations/scaleway/generated/instances/configuration.js +50 -0
  744. package/lib/src/modules/providers/implementations/scaleway/generated/instances/index.d.ts +13 -0
  745. package/lib/src/modules/providers/implementations/scaleway/generated/instances/index.js +31 -0
  746. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/api.d.ts +492 -0
  747. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/api.js +531 -0
  748. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/base.d.ts +66 -0
  749. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/base.js +66 -0
  750. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/common.d.ts +65 -0
  751. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/common.js +152 -0
  752. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/configuration.d.ts +91 -0
  753. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/configuration.js +50 -0
  754. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/index.d.ts +13 -0
  755. package/lib/src/modules/providers/implementations/scaleway/generated/private-network/index.js +31 -0
  756. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/api.d.ts +2305 -0
  757. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/api.js +2443 -0
  758. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/base.d.ts +66 -0
  759. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/base.js +66 -0
  760. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/common.d.ts +65 -0
  761. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/common.js +152 -0
  762. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/configuration.d.ts +91 -0
  763. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/configuration.js +50 -0
  764. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/index.d.ts +13 -0
  765. package/lib/src/modules/providers/implementations/scaleway/generated/vpc/index.js +31 -0
  766. package/lib/src/modules/providers/implementations/scaleway/object-storage/scaleway-object-storage.backend.d.ts +8 -0
  767. package/lib/src/modules/providers/implementations/scaleway/object-storage/scaleway-object-storage.backend.js +49 -0
  768. package/lib/src/modules/providers/implementations/scaleway/object-storage/scaleway-object-storage.module.d.ts +9 -0
  769. package/lib/src/modules/providers/implementations/scaleway/object-storage/scaleway-object-storage.module.js +56 -0
  770. package/lib/src/modules/providers/implementations/scaleway/object-storage/scaleway-object-storage.provisioner.d.ts +27 -0
  771. package/lib/src/modules/providers/implementations/scaleway/object-storage/scaleway-object-storage.provisioner.js +120 -0
  772. package/lib/src/modules/providers/implementations/scaleway/scaleway-baremetal.adapter.d.ts +22 -0
  773. package/lib/src/modules/providers/implementations/scaleway/scaleway-baremetal.adapter.js +140 -0
  774. package/lib/src/modules/providers/implementations/scaleway/scaleway-bootstrap-seeder.service.d.ts +12 -0
  775. package/lib/src/modules/providers/implementations/scaleway/scaleway-bootstrap-seeder.service.js +65 -0
  776. package/lib/src/modules/providers/implementations/scaleway/scaleway-capabilities.service.d.ts +23 -0
  777. package/lib/src/modules/providers/implementations/scaleway/scaleway-capabilities.service.js +319 -0
  778. package/lib/src/modules/providers/implementations/scaleway/scaleway-dns.service.d.ts +24 -0
  779. package/lib/src/modules/providers/implementations/scaleway/scaleway-dns.service.js +189 -0
  780. package/lib/src/modules/providers/implementations/scaleway/scaleway-firewall.service.d.ts +43 -0
  781. package/lib/src/modules/providers/implementations/scaleway/scaleway-firewall.service.js +455 -0
  782. package/lib/src/modules/providers/implementations/scaleway/scaleway-iam.adapter.d.ts +32 -0
  783. package/lib/src/modules/providers/implementations/scaleway/scaleway-iam.adapter.js +108 -0
  784. package/lib/src/modules/providers/implementations/scaleway/scaleway-instances.adapter.d.ts +66 -0
  785. package/lib/src/modules/providers/implementations/scaleway/scaleway-instances.adapter.js +289 -0
  786. package/lib/src/modules/providers/implementations/scaleway/scaleway-provider.module.d.ts +17 -0
  787. package/lib/src/modules/providers/implementations/scaleway/scaleway-provider.module.js +122 -0
  788. package/lib/src/modules/providers/implementations/scaleway/scaleway-provider.service.d.ts +100 -0
  789. package/lib/src/modules/providers/implementations/scaleway/scaleway-provider.service.js +1395 -0
  790. package/lib/src/modules/providers/implementations/scaleway/scaleway-volume-operations.service.d.ts +24 -0
  791. package/lib/src/modules/providers/implementations/scaleway/scaleway-volume-operations.service.js +199 -0
  792. package/lib/src/modules/providers/implementations/scaleway/scaleway-vpc.adapter.d.ts +30 -0
  793. package/lib/src/modules/providers/implementations/scaleway/scaleway-vpc.adapter.js +180 -0
  794. package/lib/src/modules/providers/index.d.ts +17 -0
  795. package/lib/src/modules/providers/index.js +39 -0
  796. package/lib/src/modules/providers/interfaces/certificate-provider.interface.d.ts +38 -0
  797. package/lib/src/modules/providers/interfaces/certificate-provider.interface.js +11 -0
  798. package/lib/src/modules/providers/interfaces/cloud-provider.interface.d.ts +215 -0
  799. package/lib/src/modules/providers/interfaces/cloud-provider.interface.js +2 -0
  800. package/lib/src/modules/providers/interfaces/credential-provider.interface.d.ts +23 -0
  801. package/lib/src/modules/providers/interfaces/credential-provider.interface.js +2 -0
  802. package/lib/src/modules/providers/interfaces/dns-provider.interface.d.ts +55 -0
  803. package/lib/src/modules/providers/interfaces/dns-provider.interface.js +12 -0
  804. package/lib/src/modules/providers/interfaces/firewall-provider.interface.d.ts +47 -0
  805. package/lib/src/modules/providers/interfaces/firewall-provider.interface.js +2 -0
  806. package/lib/src/modules/providers/interfaces/network-provider.interface.d.ts +124 -0
  807. package/lib/src/modules/providers/interfaces/network-provider.interface.js +2 -0
  808. package/lib/src/modules/providers/interfaces/provider-capabilities.interface.d.ts +87 -0
  809. package/lib/src/modules/providers/interfaces/provider-capabilities.interface.js +2 -0
  810. package/lib/src/modules/providers/interfaces/vm-backup-provider.interface.d.ts +39 -0
  811. package/lib/src/modules/providers/interfaces/vm-backup-provider.interface.js +8 -0
  812. package/lib/src/modules/providers/interfaces/volume-export.interface.d.ts +162 -0
  813. package/lib/src/modules/providers/interfaces/volume-export.interface.js +21 -0
  814. package/lib/src/modules/providers/interfaces/volume-operations.interface.d.ts +149 -0
  815. package/lib/src/modules/providers/interfaces/volume-operations.interface.js +17 -0
  816. package/lib/src/modules/providers/mappers/node-size.mapper.d.ts +20 -0
  817. package/lib/src/modules/providers/mappers/node-size.mapper.js +75 -0
  818. package/lib/src/modules/providers/mappers/pricing.mapper.d.ts +14 -0
  819. package/lib/src/modules/providers/mappers/pricing.mapper.js +60 -0
  820. package/lib/src/modules/providers/provider-core.module.d.ts +13 -0
  821. package/lib/src/modules/providers/provider-core.module.js +59 -0
  822. package/lib/src/modules/providers/providers.module.d.ts +2 -0
  823. package/lib/src/modules/providers/providers.module.js +188 -0
  824. package/lib/src/modules/providers/services/acme-certificate.service.d.ts +38 -0
  825. package/lib/src/modules/providers/services/acme-certificate.service.js +144 -0
  826. package/lib/src/modules/providers/services/contabo-firewall.service.d.ts +11 -0
  827. package/lib/src/modules/providers/services/contabo-firewall.service.js +40 -0
  828. package/lib/src/modules/providers/services/contabo-provider.service.d.ts +48 -0
  829. package/lib/src/modules/providers/services/contabo-provider.service.js +194 -0
  830. package/lib/src/modules/providers/services/credential-provider.service.d.ts +17 -0
  831. package/lib/src/modules/providers/services/credential-provider.service.js +78 -0
  832. package/lib/src/modules/providers/services/dns-provider.factory.d.ts +5 -0
  833. package/lib/src/modules/providers/services/dns-provider.factory.js +9 -0
  834. package/lib/src/modules/providers/services/firewall-provider.factory.d.ts +5 -0
  835. package/lib/src/modules/providers/services/firewall-provider.factory.js +9 -0
  836. package/lib/src/modules/providers/services/hetzner-dns.service.d.ts +71 -0
  837. package/lib/src/modules/providers/services/hetzner-dns.service.js +565 -0
  838. package/lib/src/modules/providers/services/hetzner-firewall.service.d.ts +48 -0
  839. package/lib/src/modules/providers/services/hetzner-firewall.service.js +472 -0
  840. package/lib/src/modules/providers/services/hetzner-network.service.d.ts +84 -0
  841. package/lib/src/modules/providers/services/hetzner-network.service.js +408 -0
  842. package/lib/src/modules/providers/services/hetzner-provider.service.d.ts +213 -0
  843. package/lib/src/modules/providers/services/hetzner-provider.service.js +1159 -0
  844. package/lib/src/modules/providers/services/provider.factory.d.ts +5 -0
  845. package/lib/src/modules/providers/services/provider.factory.js +9 -0
  846. package/lib/src/modules/providers/services/volume-export.service.d.ts +50 -0
  847. package/lib/src/modules/providers/services/volume-export.service.js +650 -0
  848. package/lib/src/modules/shared/encryption/encryption.module.d.ts +2 -0
  849. package/lib/src/modules/shared/encryption/encryption.module.js +22 -0
  850. package/lib/src/modules/shared/encryption/services/encryption.service.d.ts +47 -0
  851. package/lib/src/modules/shared/encryption/services/encryption.service.js +199 -0
  852. package/lib/src/modules/storage/enums/storage-backend-provider.enum.d.ts +19 -0
  853. package/lib/src/modules/storage/enums/storage-backend-provider.enum.js +23 -0
  854. package/lib/src/modules/storage/factories/object-storage-provisioner.factory.d.ts +11 -0
  855. package/lib/src/modules/storage/factories/object-storage-provisioner.factory.js +48 -0
  856. package/lib/src/modules/storage/factories/storage-backend.factory.d.ts +12 -0
  857. package/lib/src/modules/storage/factories/storage-backend.factory.js +51 -0
  858. package/lib/src/modules/storage/implementations/generic-s3.backend.d.ts +23 -0
  859. package/lib/src/modules/storage/implementations/generic-s3.backend.js +172 -0
  860. package/lib/src/modules/storage/interfaces/backup-storage-backend.interface.d.ts +48 -0
  861. package/lib/src/modules/storage/interfaces/backup-storage-backend.interface.js +2 -0
  862. package/lib/src/modules/storage/interfaces/object-storage-provisioner.interface.d.ts +55 -0
  863. package/lib/src/modules/storage/interfaces/object-storage-provisioner.interface.js +9 -0
  864. package/lib/src/modules/storage/storage.module.d.ts +2 -0
  865. package/lib/src/modules/storage/storage.module.js +21 -0
  866. package/lib/src/modules/storage/tokens/object-storage-provisioner-registry.token.d.ts +12 -0
  867. package/lib/src/modules/storage/tokens/object-storage-provisioner-registry.token.js +8 -0
  868. package/lib/src/modules/storage/tokens/storage-backend-registry.token.d.ts +12 -0
  869. package/lib/src/modules/storage/tokens/storage-backend-registry.token.js +8 -0
  870. package/lib/src/modules/terminal/services/native-ssh-connection.service.d.ts +48 -0
  871. package/lib/src/modules/terminal/services/native-ssh-connection.service.js +282 -0
  872. package/oclif.manifest.json +5243 -0
  873. package/package.json +125 -0
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Elastic Metal API
3
+ * Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources. (switchcolumn) <Message type=\"tip\"> Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/) for Elastic Metal servers. </Message> (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID=\"<project-id>\" export ACCESS_KEY=\"<access-key>\" export SECRET_KEY=\"<secret-key>\" export ZONE=\"<availability-zone>\" ``` <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Bare Metal API. </Message> 2. **Edit the POST request payload** that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help. ```json { \"offer_id\": \"string\", \"project_id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"tags\": [ \"tag1\", \"tag2\" ], \"install\": { \"os_id\": \"string\", \"hostname\": \"string\", \"ssh_key_ids\": [ \"string\" ], \"user\": \"string\", \"password\": \"string\", \"service_user\": \"string\", \"service_password\": \"string\" }, \"option_ids\": [ \"string\" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | <Message type=\"tip\"> [To find your Project ID you can either use the [Account API](https://www.scaleway.com/en/developers/api/account/project-api/#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): </Message> 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers \\ -d \'{ \"offer_id\": \"bd757ca3-a71b-4158-9ef5-39436b6db2a4\", \"project_id\": \"cc6d123a-bc09-4e24-b5d9-3310f2104e13\", \"name\": \"MyElasticMetal\", \"description\": \"My_Elastic_Metal_Server\", \"tags\": [ \"Ubuntu22\", \"Dedicated\" ], \"install\": { \"os_id\": \"96e5f0f2-d216-4de2-8a15-68730d877885\", \"hostname\": \"elasticmetal.example.com\", \"ssh_key_ids\": [ \"fa05e77f-66b7-43b9-bc21-4dfe3c5bb624\" ], \"user\": \"ubuntu\", \"password\": \"mySecretPa$$word\" \"option_ids\": [ \"string\" ] }\" ``` 4. **List your Elastic Metal servers.** ```bash curl -X GET \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers ``` 5. **Retrieve your Elastic Metal server IP** from the response. 6. **Connect to your Elastic Metal server** using SSH ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information ### Features - Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server) - Start/Stop/Reboot - Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image. - Billed by the minute (billing starts when the server is delivered and stops when the server is deleted) - IPv6, all servers are available with a /128 IPv6 subnet - ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint - Basic monitoring with ping status - Flexible IP is available ([documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/)) ### Availability Zones Scaleway\'s infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/). Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs: | Name | API ID | |-----------|----------------------------------| | Paris | `fr-par-1` `fr-par-2` | | Amsterdam | `nl-ams-1` `nl-ams-2` | | Warsaw | `pl-waw-2` `pl-waw-3` | ## Technical limitations - Failover IPs are not available in API `v1`, use the API `v1alpha1` ## Going further For more help using Scaleway Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/) ### Troubleshooting #### How is the installation of Elastic Metal servers done? - The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media) #### How can I retrieve my secret key and Project ID? You can find your [secret key](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip).
4
+ *
5
+ * The version of the OpenAPI document: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { Configuration } from './configuration';
13
+ import type { AxiosInstance, RawAxiosRequestConfig } from 'axios';
14
+ export declare const BASE_PATH: string;
15
+ /**
16
+ *
17
+ * @export
18
+ */
19
+ export declare const COLLECTION_FORMATS: {
20
+ csv: string;
21
+ ssv: string;
22
+ tsv: string;
23
+ pipes: string;
24
+ };
25
+ /**
26
+ *
27
+ * @export
28
+ * @interface RequestArgs
29
+ */
30
+ export interface RequestArgs {
31
+ url: string;
32
+ options: RawAxiosRequestConfig;
33
+ }
34
+ /**
35
+ *
36
+ * @export
37
+ * @class BaseAPI
38
+ */
39
+ export declare class BaseAPI {
40
+ protected basePath: string;
41
+ protected axios: AxiosInstance;
42
+ protected configuration: Configuration | undefined;
43
+ constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
44
+ }
45
+ /**
46
+ *
47
+ * @export
48
+ * @class RequiredError
49
+ * @extends {Error}
50
+ */
51
+ export declare class RequiredError extends Error {
52
+ field: string;
53
+ constructor(field: string, msg?: string);
54
+ }
55
+ interface ServerMap {
56
+ [key: string]: {
57
+ url: string;
58
+ description: string;
59
+ }[];
60
+ }
61
+ /**
62
+ *
63
+ * @export
64
+ */
65
+ export declare const operationServerMap: ServerMap;
66
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Elastic Metal API
6
+ * Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources. (switchcolumn) <Message type=\"tip\"> Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/) for Elastic Metal servers. </Message> (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID=\"<project-id>\" export ACCESS_KEY=\"<access-key>\" export SECRET_KEY=\"<secret-key>\" export ZONE=\"<availability-zone>\" ``` <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Bare Metal API. </Message> 2. **Edit the POST request payload** that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help. ```json { \"offer_id\": \"string\", \"project_id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"tags\": [ \"tag1\", \"tag2\" ], \"install\": { \"os_id\": \"string\", \"hostname\": \"string\", \"ssh_key_ids\": [ \"string\" ], \"user\": \"string\", \"password\": \"string\", \"service_user\": \"string\", \"service_password\": \"string\" }, \"option_ids\": [ \"string\" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | <Message type=\"tip\"> [To find your Project ID you can either use the [Account API](https://www.scaleway.com/en/developers/api/account/project-api/#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): </Message> 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers \\ -d \'{ \"offer_id\": \"bd757ca3-a71b-4158-9ef5-39436b6db2a4\", \"project_id\": \"cc6d123a-bc09-4e24-b5d9-3310f2104e13\", \"name\": \"MyElasticMetal\", \"description\": \"My_Elastic_Metal_Server\", \"tags\": [ \"Ubuntu22\", \"Dedicated\" ], \"install\": { \"os_id\": \"96e5f0f2-d216-4de2-8a15-68730d877885\", \"hostname\": \"elasticmetal.example.com\", \"ssh_key_ids\": [ \"fa05e77f-66b7-43b9-bc21-4dfe3c5bb624\" ], \"user\": \"ubuntu\", \"password\": \"mySecretPa$$word\" \"option_ids\": [ \"string\" ] }\" ``` 4. **List your Elastic Metal servers.** ```bash curl -X GET \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers ``` 5. **Retrieve your Elastic Metal server IP** from the response. 6. **Connect to your Elastic Metal server** using SSH ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information ### Features - Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server) - Start/Stop/Reboot - Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image. - Billed by the minute (billing starts when the server is delivered and stops when the server is deleted) - IPv6, all servers are available with a /128 IPv6 subnet - ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint - Basic monitoring with ping status - Flexible IP is available ([documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/)) ### Availability Zones Scaleway\'s infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/). Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs: | Name | API ID | |-----------|----------------------------------| | Paris | `fr-par-1` `fr-par-2` | | Amsterdam | `nl-ams-1` `nl-ams-2` | | Warsaw | `pl-waw-2` `pl-waw-3` | ## Technical limitations - Failover IPs are not available in API `v1`, use the API `v1alpha1` ## Going further For more help using Scaleway Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/) ### Troubleshooting #### How is the installation of Elastic Metal servers done? - The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media) #### How can I retrieve my secret key and Project ID? You can find your [secret key](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip).
7
+ *
8
+ * The version of the OpenAPI document: v1
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ var __importDefault = (this && this.__importDefault) || function (mod) {
16
+ return (mod && mod.__esModule) ? mod : { "default": mod };
17
+ };
18
+ Object.defineProperty(exports, "__esModule", { value: true });
19
+ exports.operationServerMap = exports.RequiredError = exports.BaseAPI = exports.COLLECTION_FORMATS = exports.BASE_PATH = void 0;
20
+ const axios_1 = __importDefault(require("axios"));
21
+ exports.BASE_PATH = 'https://api.scaleway.com'.replace(/\/+$/, '');
22
+ /**
23
+ *
24
+ * @export
25
+ */
26
+ exports.COLLECTION_FORMATS = {
27
+ csv: ',',
28
+ ssv: ' ',
29
+ tsv: '\t',
30
+ pipes: '|',
31
+ };
32
+ /**
33
+ *
34
+ * @export
35
+ * @class BaseAPI
36
+ */
37
+ class BaseAPI {
38
+ constructor(configuration, basePath = exports.BASE_PATH, axios = axios_1.default) {
39
+ this.basePath = basePath;
40
+ this.axios = axios;
41
+ if (configuration) {
42
+ this.configuration = configuration;
43
+ this.basePath = configuration.basePath ?? basePath;
44
+ }
45
+ }
46
+ }
47
+ exports.BaseAPI = BaseAPI;
48
+ /**
49
+ *
50
+ * @export
51
+ * @class RequiredError
52
+ * @extends {Error}
53
+ */
54
+ class RequiredError extends Error {
55
+ constructor(field, msg) {
56
+ super(msg);
57
+ this.field = field;
58
+ this.name = 'RequiredError';
59
+ }
60
+ }
61
+ exports.RequiredError = RequiredError;
62
+ /**
63
+ *
64
+ * @export
65
+ */
66
+ exports.operationServerMap = {};
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Elastic Metal API
3
+ * Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources. (switchcolumn) <Message type=\"tip\"> Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/) for Elastic Metal servers. </Message> (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID=\"<project-id>\" export ACCESS_KEY=\"<access-key>\" export SECRET_KEY=\"<secret-key>\" export ZONE=\"<availability-zone>\" ``` <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Bare Metal API. </Message> 2. **Edit the POST request payload** that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help. ```json { \"offer_id\": \"string\", \"project_id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"tags\": [ \"tag1\", \"tag2\" ], \"install\": { \"os_id\": \"string\", \"hostname\": \"string\", \"ssh_key_ids\": [ \"string\" ], \"user\": \"string\", \"password\": \"string\", \"service_user\": \"string\", \"service_password\": \"string\" }, \"option_ids\": [ \"string\" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | <Message type=\"tip\"> [To find your Project ID you can either use the [Account API](https://www.scaleway.com/en/developers/api/account/project-api/#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): </Message> 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers \\ -d \'{ \"offer_id\": \"bd757ca3-a71b-4158-9ef5-39436b6db2a4\", \"project_id\": \"cc6d123a-bc09-4e24-b5d9-3310f2104e13\", \"name\": \"MyElasticMetal\", \"description\": \"My_Elastic_Metal_Server\", \"tags\": [ \"Ubuntu22\", \"Dedicated\" ], \"install\": { \"os_id\": \"96e5f0f2-d216-4de2-8a15-68730d877885\", \"hostname\": \"elasticmetal.example.com\", \"ssh_key_ids\": [ \"fa05e77f-66b7-43b9-bc21-4dfe3c5bb624\" ], \"user\": \"ubuntu\", \"password\": \"mySecretPa$$word\" \"option_ids\": [ \"string\" ] }\" ``` 4. **List your Elastic Metal servers.** ```bash curl -X GET \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers ``` 5. **Retrieve your Elastic Metal server IP** from the response. 6. **Connect to your Elastic Metal server** using SSH ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information ### Features - Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server) - Start/Stop/Reboot - Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image. - Billed by the minute (billing starts when the server is delivered and stops when the server is deleted) - IPv6, all servers are available with a /128 IPv6 subnet - ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint - Basic monitoring with ping status - Flexible IP is available ([documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/)) ### Availability Zones Scaleway\'s infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/). Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs: | Name | API ID | |-----------|----------------------------------| | Paris | `fr-par-1` `fr-par-2` | | Amsterdam | `nl-ams-1` `nl-ams-2` | | Warsaw | `pl-waw-2` `pl-waw-3` | ## Technical limitations - Failover IPs are not available in API `v1`, use the API `v1alpha1` ## Going further For more help using Scaleway Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/) ### Troubleshooting #### How is the installation of Elastic Metal servers done? - The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media) #### How can I retrieve my secret key and Project ID? You can find your [secret key](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip).
4
+ *
5
+ * The version of the OpenAPI document: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { Configuration } from './configuration';
13
+ import type { RequestArgs } from './base';
14
+ import type { AxiosInstance, AxiosResponse } from 'axios';
15
+ /**
16
+ *
17
+ * @export
18
+ */
19
+ export declare const DUMMY_BASE_URL = "https://example.com";
20
+ /**
21
+ *
22
+ * @throws {RequiredError}
23
+ * @export
24
+ */
25
+ export declare const assertParamExists: (functionName: string, paramName: string, paramValue: unknown) => void;
26
+ /**
27
+ *
28
+ * @export
29
+ */
30
+ export declare const setApiKeyToObject: (object: any, keyParamName: string, configuration?: Configuration) => Promise<void>;
31
+ /**
32
+ *
33
+ * @export
34
+ */
35
+ export declare const setBasicAuthToObject: (object: any, configuration?: Configuration) => void;
36
+ /**
37
+ *
38
+ * @export
39
+ */
40
+ export declare const setBearerAuthToObject: (object: any, configuration?: Configuration) => Promise<void>;
41
+ /**
42
+ *
43
+ * @export
44
+ */
45
+ export declare const setOAuthToObject: (object: any, name: string, scopes: string[], configuration?: Configuration) => Promise<void>;
46
+ /**
47
+ *
48
+ * @export
49
+ */
50
+ export declare const setSearchParams: (url: URL, ...objects: any[]) => void;
51
+ /**
52
+ *
53
+ * @export
54
+ */
55
+ export declare const serializeDataIfNeeded: (value: any, requestOptions: any, configuration?: Configuration) => any;
56
+ /**
57
+ *
58
+ * @export
59
+ */
60
+ export declare const toPathString: (url: URL) => string;
61
+ /**
62
+ *
63
+ * @export
64
+ */
65
+ export declare const createRequestFunction: (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) => <T = unknown, R = AxiosResponse<T>>(axios?: AxiosInstance, basePath?: string) => Promise<R>;
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Elastic Metal API
6
+ * Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources. (switchcolumn) <Message type=\"tip\"> Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/) for Elastic Metal servers. </Message> (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID=\"<project-id>\" export ACCESS_KEY=\"<access-key>\" export SECRET_KEY=\"<secret-key>\" export ZONE=\"<availability-zone>\" ``` <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Bare Metal API. </Message> 2. **Edit the POST request payload** that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help. ```json { \"offer_id\": \"string\", \"project_id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"tags\": [ \"tag1\", \"tag2\" ], \"install\": { \"os_id\": \"string\", \"hostname\": \"string\", \"ssh_key_ids\": [ \"string\" ], \"user\": \"string\", \"password\": \"string\", \"service_user\": \"string\", \"service_password\": \"string\" }, \"option_ids\": [ \"string\" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | <Message type=\"tip\"> [To find your Project ID you can either use the [Account API](https://www.scaleway.com/en/developers/api/account/project-api/#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): </Message> 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers \\ -d \'{ \"offer_id\": \"bd757ca3-a71b-4158-9ef5-39436b6db2a4\", \"project_id\": \"cc6d123a-bc09-4e24-b5d9-3310f2104e13\", \"name\": \"MyElasticMetal\", \"description\": \"My_Elastic_Metal_Server\", \"tags\": [ \"Ubuntu22\", \"Dedicated\" ], \"install\": { \"os_id\": \"96e5f0f2-d216-4de2-8a15-68730d877885\", \"hostname\": \"elasticmetal.example.com\", \"ssh_key_ids\": [ \"fa05e77f-66b7-43b9-bc21-4dfe3c5bb624\" ], \"user\": \"ubuntu\", \"password\": \"mySecretPa$$word\" \"option_ids\": [ \"string\" ] }\" ``` 4. **List your Elastic Metal servers.** ```bash curl -X GET \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers ``` 5. **Retrieve your Elastic Metal server IP** from the response. 6. **Connect to your Elastic Metal server** using SSH ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information ### Features - Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server) - Start/Stop/Reboot - Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image. - Billed by the minute (billing starts when the server is delivered and stops when the server is deleted) - IPv6, all servers are available with a /128 IPv6 subnet - ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint - Basic monitoring with ping status - Flexible IP is available ([documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/)) ### Availability Zones Scaleway\'s infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/). Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs: | Name | API ID | |-----------|----------------------------------| | Paris | `fr-par-1` `fr-par-2` | | Amsterdam | `nl-ams-1` `nl-ams-2` | | Warsaw | `pl-waw-2` `pl-waw-3` | ## Technical limitations - Failover IPs are not available in API `v1`, use the API `v1alpha1` ## Going further For more help using Scaleway Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/) ### Troubleshooting #### How is the installation of Elastic Metal servers done? - The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media) #### How can I retrieve my secret key and Project ID? You can find your [secret key](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip).
7
+ *
8
+ * The version of the OpenAPI document: v1
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.createRequestFunction = exports.toPathString = exports.serializeDataIfNeeded = exports.setSearchParams = exports.setOAuthToObject = exports.setBearerAuthToObject = exports.setBasicAuthToObject = exports.setApiKeyToObject = exports.assertParamExists = exports.DUMMY_BASE_URL = void 0;
17
+ const base_1 = require("./base");
18
+ /**
19
+ *
20
+ * @export
21
+ */
22
+ exports.DUMMY_BASE_URL = 'https://example.com';
23
+ /**
24
+ *
25
+ * @throws {RequiredError}
26
+ * @export
27
+ */
28
+ const assertParamExists = function (functionName, paramName, paramValue) {
29
+ if (paramValue === null || paramValue === undefined) {
30
+ throw new base_1.RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);
31
+ }
32
+ };
33
+ exports.assertParamExists = assertParamExists;
34
+ /**
35
+ *
36
+ * @export
37
+ */
38
+ const setApiKeyToObject = async function (object, keyParamName, configuration) {
39
+ if (configuration && configuration.apiKey) {
40
+ const localVarApiKeyValue = typeof configuration.apiKey === 'function'
41
+ ? await configuration.apiKey(keyParamName)
42
+ : await configuration.apiKey;
43
+ object[keyParamName] = localVarApiKeyValue;
44
+ }
45
+ };
46
+ exports.setApiKeyToObject = setApiKeyToObject;
47
+ /**
48
+ *
49
+ * @export
50
+ */
51
+ const setBasicAuthToObject = function (object, configuration) {
52
+ if (configuration && (configuration.username || configuration.password)) {
53
+ object['auth'] = {
54
+ username: configuration.username,
55
+ password: configuration.password,
56
+ };
57
+ }
58
+ };
59
+ exports.setBasicAuthToObject = setBasicAuthToObject;
60
+ /**
61
+ *
62
+ * @export
63
+ */
64
+ const setBearerAuthToObject = async function (object, configuration) {
65
+ if (configuration && configuration.accessToken) {
66
+ const accessToken = typeof configuration.accessToken === 'function'
67
+ ? await configuration.accessToken()
68
+ : await configuration.accessToken;
69
+ object['Authorization'] = 'Bearer ' + accessToken;
70
+ }
71
+ };
72
+ exports.setBearerAuthToObject = setBearerAuthToObject;
73
+ /**
74
+ *
75
+ * @export
76
+ */
77
+ const setOAuthToObject = async function (object, name, scopes, configuration) {
78
+ if (configuration && configuration.accessToken) {
79
+ const localVarAccessTokenValue = typeof configuration.accessToken === 'function'
80
+ ? await configuration.accessToken(name, scopes)
81
+ : await configuration.accessToken;
82
+ object['Authorization'] = 'Bearer ' + localVarAccessTokenValue;
83
+ }
84
+ };
85
+ exports.setOAuthToObject = setOAuthToObject;
86
+ function setFlattenedQueryParams(urlSearchParams, parameter, key = '') {
87
+ if (parameter == null)
88
+ return;
89
+ if (typeof parameter === 'object') {
90
+ if (Array.isArray(parameter)) {
91
+ parameter.forEach((item) => setFlattenedQueryParams(urlSearchParams, item, key));
92
+ }
93
+ else {
94
+ Object.keys(parameter).forEach((currentKey) => setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`));
95
+ }
96
+ }
97
+ else {
98
+ if (urlSearchParams.has(key)) {
99
+ urlSearchParams.append(key, parameter);
100
+ }
101
+ else {
102
+ urlSearchParams.set(key, parameter);
103
+ }
104
+ }
105
+ }
106
+ /**
107
+ *
108
+ * @export
109
+ */
110
+ const setSearchParams = function (url, ...objects) {
111
+ const searchParams = new URLSearchParams(url.search);
112
+ setFlattenedQueryParams(searchParams, objects);
113
+ url.search = searchParams.toString();
114
+ };
115
+ exports.setSearchParams = setSearchParams;
116
+ /**
117
+ *
118
+ * @export
119
+ */
120
+ const serializeDataIfNeeded = function (value, requestOptions, configuration) {
121
+ const nonString = typeof value !== 'string';
122
+ const needsSerialization = nonString && configuration && configuration.isJsonMime
123
+ ? configuration.isJsonMime(requestOptions.headers['Content-Type'])
124
+ : nonString;
125
+ return needsSerialization
126
+ ? JSON.stringify(value !== undefined ? value : {})
127
+ : value || '';
128
+ };
129
+ exports.serializeDataIfNeeded = serializeDataIfNeeded;
130
+ /**
131
+ *
132
+ * @export
133
+ */
134
+ const toPathString = function (url) {
135
+ return url.pathname + url.search + url.hash;
136
+ };
137
+ exports.toPathString = toPathString;
138
+ /**
139
+ *
140
+ * @export
141
+ */
142
+ const createRequestFunction = function (axiosArgs, globalAxios, BASE_PATH, configuration) {
143
+ return (axios = globalAxios, basePath = BASE_PATH) => {
144
+ const axiosRequestArgs = {
145
+ ...axiosArgs.options,
146
+ url: (axios.defaults.baseURL ? '' : (configuration?.basePath ?? basePath)) +
147
+ axiosArgs.url,
148
+ };
149
+ return axios.request(axiosRequestArgs);
150
+ };
151
+ };
152
+ exports.createRequestFunction = createRequestFunction;
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Elastic Metal API
3
+ * Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources. (switchcolumn) <Message type=\"tip\"> Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/) for Elastic Metal servers. </Message> (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID=\"<project-id>\" export ACCESS_KEY=\"<access-key>\" export SECRET_KEY=\"<secret-key>\" export ZONE=\"<availability-zone>\" ``` <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Bare Metal API. </Message> 2. **Edit the POST request payload** that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help. ```json { \"offer_id\": \"string\", \"project_id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"tags\": [ \"tag1\", \"tag2\" ], \"install\": { \"os_id\": \"string\", \"hostname\": \"string\", \"ssh_key_ids\": [ \"string\" ], \"user\": \"string\", \"password\": \"string\", \"service_user\": \"string\", \"service_password\": \"string\" }, \"option_ids\": [ \"string\" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | <Message type=\"tip\"> [To find your Project ID you can either use the [Account API](https://www.scaleway.com/en/developers/api/account/project-api/#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): </Message> 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers \\ -d \'{ \"offer_id\": \"bd757ca3-a71b-4158-9ef5-39436b6db2a4\", \"project_id\": \"cc6d123a-bc09-4e24-b5d9-3310f2104e13\", \"name\": \"MyElasticMetal\", \"description\": \"My_Elastic_Metal_Server\", \"tags\": [ \"Ubuntu22\", \"Dedicated\" ], \"install\": { \"os_id\": \"96e5f0f2-d216-4de2-8a15-68730d877885\", \"hostname\": \"elasticmetal.example.com\", \"ssh_key_ids\": [ \"fa05e77f-66b7-43b9-bc21-4dfe3c5bb624\" ], \"user\": \"ubuntu\", \"password\": \"mySecretPa$$word\" \"option_ids\": [ \"string\" ] }\" ``` 4. **List your Elastic Metal servers.** ```bash curl -X GET \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers ``` 5. **Retrieve your Elastic Metal server IP** from the response. 6. **Connect to your Elastic Metal server** using SSH ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information ### Features - Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server) - Start/Stop/Reboot - Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image. - Billed by the minute (billing starts when the server is delivered and stops when the server is deleted) - IPv6, all servers are available with a /128 IPv6 subnet - ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint - Basic monitoring with ping status - Flexible IP is available ([documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/)) ### Availability Zones Scaleway\'s infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/). Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs: | Name | API ID | |-----------|----------------------------------| | Paris | `fr-par-1` `fr-par-2` | | Amsterdam | `nl-ams-1` `nl-ams-2` | | Warsaw | `pl-waw-2` `pl-waw-3` | ## Technical limitations - Failover IPs are not available in API `v1`, use the API `v1alpha1` ## Going further For more help using Scaleway Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/) ### Troubleshooting #### How is the installation of Elastic Metal servers done? - The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media) #### How can I retrieve my secret key and Project ID? You can find your [secret key](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip).
4
+ *
5
+ * The version of the OpenAPI document: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ export interface ConfigurationParameters {
13
+ apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
14
+ username?: string;
15
+ password?: string;
16
+ accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
17
+ basePath?: string;
18
+ serverIndex?: number;
19
+ baseOptions?: any;
20
+ formDataCtor?: new () => any;
21
+ }
22
+ export declare class Configuration {
23
+ /**
24
+ * parameter for apiKey security
25
+ * @param name security name
26
+ * @memberof Configuration
27
+ */
28
+ apiKey?: string | Promise<string> | ((name: string) => string) | ((name: string) => Promise<string>);
29
+ /**
30
+ * parameter for basic security
31
+ *
32
+ * @type {string}
33
+ * @memberof Configuration
34
+ */
35
+ username?: string;
36
+ /**
37
+ * parameter for basic security
38
+ *
39
+ * @type {string}
40
+ * @memberof Configuration
41
+ */
42
+ password?: string;
43
+ /**
44
+ * parameter for oauth2 security
45
+ * @param name security name
46
+ * @param scopes oauth2 scope
47
+ * @memberof Configuration
48
+ */
49
+ accessToken?: string | Promise<string> | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise<string>);
50
+ /**
51
+ * override base path
52
+ *
53
+ * @type {string}
54
+ * @memberof Configuration
55
+ */
56
+ basePath?: string;
57
+ /**
58
+ * override server index
59
+ *
60
+ * @type {number}
61
+ * @memberof Configuration
62
+ */
63
+ serverIndex?: number;
64
+ /**
65
+ * base options for axios calls
66
+ *
67
+ * @type {any}
68
+ * @memberof Configuration
69
+ */
70
+ baseOptions?: any;
71
+ /**
72
+ * The FormData constructor that will be used to create multipart form data
73
+ * requests. You can inject this here so that execution environments that
74
+ * do not support the FormData class can still run the generated client.
75
+ *
76
+ * @type {new () => FormData}
77
+ */
78
+ formDataCtor?: new () => any;
79
+ constructor(param?: ConfigurationParameters);
80
+ /**
81
+ * Check if the given MIME is a JSON MIME.
82
+ * JSON MIME examples:
83
+ * application/json
84
+ * application/json; charset=UTF8
85
+ * APPLICATION/JSON
86
+ * application/vnd.company+json
87
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
88
+ * @return True if the given MIME is JSON, false otherwise.
89
+ */
90
+ isJsonMime(mime: string): boolean;
91
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /* tslint:disable */
3
+ /* eslint-disable */
4
+ /**
5
+ * Elastic Metal API
6
+ * Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources. (switchcolumn) <Message type=\"tip\"> Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/) for Elastic Metal servers. </Message> (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID=\"<project-id>\" export ACCESS_KEY=\"<access-key>\" export SECRET_KEY=\"<secret-key>\" export ZONE=\"<availability-zone>\" ``` <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Bare Metal API. </Message> 2. **Edit the POST request payload** that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help. ```json { \"offer_id\": \"string\", \"project_id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"tags\": [ \"tag1\", \"tag2\" ], \"install\": { \"os_id\": \"string\", \"hostname\": \"string\", \"ssh_key_ids\": [ \"string\" ], \"user\": \"string\", \"password\": \"string\", \"service_user\": \"string\", \"service_password\": \"string\" }, \"option_ids\": [ \"string\" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | <Message type=\"tip\"> [To find your Project ID you can either use the [Account API](https://www.scaleway.com/en/developers/api/account/project-api/#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): </Message> 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers \\ -d \'{ \"offer_id\": \"bd757ca3-a71b-4158-9ef5-39436b6db2a4\", \"project_id\": \"cc6d123a-bc09-4e24-b5d9-3310f2104e13\", \"name\": \"MyElasticMetal\", \"description\": \"My_Elastic_Metal_Server\", \"tags\": [ \"Ubuntu22\", \"Dedicated\" ], \"install\": { \"os_id\": \"96e5f0f2-d216-4de2-8a15-68730d877885\", \"hostname\": \"elasticmetal.example.com\", \"ssh_key_ids\": [ \"fa05e77f-66b7-43b9-bc21-4dfe3c5bb624\" ], \"user\": \"ubuntu\", \"password\": \"mySecretPa$$word\" \"option_ids\": [ \"string\" ] }\" ``` 4. **List your Elastic Metal servers.** ```bash curl -X GET \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers ``` 5. **Retrieve your Elastic Metal server IP** from the response. 6. **Connect to your Elastic Metal server** using SSH ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information ### Features - Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server) - Start/Stop/Reboot - Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image. - Billed by the minute (billing starts when the server is delivered and stops when the server is deleted) - IPv6, all servers are available with a /128 IPv6 subnet - ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint - Basic monitoring with ping status - Flexible IP is available ([documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/)) ### Availability Zones Scaleway\'s infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/). Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs: | Name | API ID | |-----------|----------------------------------| | Paris | `fr-par-1` `fr-par-2` | | Amsterdam | `nl-ams-1` `nl-ams-2` | | Warsaw | `pl-waw-2` `pl-waw-3` | ## Technical limitations - Failover IPs are not available in API `v1`, use the API `v1alpha1` ## Going further For more help using Scaleway Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/) ### Troubleshooting #### How is the installation of Elastic Metal servers done? - The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media) #### How can I retrieve my secret key and Project ID? You can find your [secret key](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip).
7
+ *
8
+ * The version of the OpenAPI document: v1
9
+ *
10
+ *
11
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
12
+ * https://openapi-generator.tech
13
+ * Do not edit the class manually.
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.Configuration = void 0;
17
+ class Configuration {
18
+ constructor(param = {}) {
19
+ this.apiKey = param.apiKey;
20
+ this.username = param.username;
21
+ this.password = param.password;
22
+ this.accessToken = param.accessToken;
23
+ this.basePath = param.basePath;
24
+ this.serverIndex = param.serverIndex;
25
+ this.baseOptions = {
26
+ ...param.baseOptions,
27
+ headers: {
28
+ ...param.baseOptions?.headers,
29
+ },
30
+ };
31
+ this.formDataCtor = param.formDataCtor;
32
+ }
33
+ /**
34
+ * Check if the given MIME is a JSON MIME.
35
+ * JSON MIME examples:
36
+ * application/json
37
+ * application/json; charset=UTF8
38
+ * APPLICATION/JSON
39
+ * application/vnd.company+json
40
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
41
+ * @return True if the given MIME is JSON, false otherwise.
42
+ */
43
+ isJsonMime(mime) {
44
+ const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
45
+ return (mime !== null &&
46
+ (jsonMime.test(mime) ||
47
+ mime.toLowerCase() === 'application/json-patch+json'));
48
+ }
49
+ }
50
+ exports.Configuration = Configuration;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Elastic Metal API
3
+ * Scaleway Elastic Metal servers are dedicated physical servers that you can order on-demand, like Instances. You can install an OS or other images on your Elastic Metal server and connect to it via SSH to use it as you require. You can power off the server when you are not using or delete it from your account once you have finished using it. Elastic Metal servers are ideal for large workloads, big data, and applications that require increased security and dedicated resources. (switchcolumn) <Message type=\"tip\"> Check out our dedicated APIs to manage [Private Networks](https://www.scaleway.com/en/developers/api/elastic-metal/private-network-api/) and [Flexible IPs](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/) for Elastic Metal servers. </Message> (switchcolumn) ## Concepts Refer to our [dedicated concepts](https://www.scaleway.com/en/docs/elastic-metal/concepts/) page to find definitions of the different terms referring to Elastic Metal servers. ## Quickstart (switchcolumn) (switchcolumn) 1. **Configure your environment variables.** ```bash export PROJECT_ID=\"<project-id>\" export ACCESS_KEY=\"<access-key>\" export SECRET_KEY=\"<secret-key>\" export ZONE=\"<availability-zone>\" ``` <Message type=\"note\"> This is an optional step that seeks to simplify your usage of the Bare Metal API. </Message> 2. **Edit the POST request payload** that we will use in the next step to create an Elastic Metal server. Modify the values in the example according to your needs, using the information in the table to help. ```json { \"offer_id\": \"string\", \"project_id\": \"string\", \"name\": \"string\", \"description\": \"string\", \"tags\": [ \"tag1\", \"tag2\" ], \"install\": { \"os_id\": \"string\", \"hostname\": \"string\", \"ssh_key_ids\": [ \"string\" ], \"user\": \"string\", \"password\": \"string\", \"service_user\": \"string\", \"service_password\": \"string\" }, \"option_ids\": [ \"string\" ] } ``` | Parameter | Description | | :--------------- | :----------------------------------------------------------------- | | `offer_id` | **REQUIRED** UUID of the Elastic Metal offer | | `project_id` | **REQUIRED** UUID of the project you want to create your Elastic Metal in. | | `name` | **REQUIRED** Name of the Elastic Metal server (≠hostname) | | `description` | **REQUIRED** A description of your server (max 255 characters) | | `tags` | **OPTIONAL** An array of tags associated with your server | | `os_id` | The ID of the operating system image to install on the server | | `hostname` | Hostname of the server | | `ssh_key_ids` | SSH key IDs authorized on the server | | `user` | **NULLABLE** A regular user to be configured on the server | | `password` | **NULLABLE** The password for the user account | | `service_user` | **NULLABLE** A service user for third party services (user to login in services such as BigBlueButton) | | `service password` | **NULLABLE** Password for the service user | | `option_ids` | IDs of options to enable on server | <Message type=\"tip\"> [To find your Project ID you can either use the [Account API](https://www.scaleway.com/en/developers/api/account/project-api/#path-projects-list-all-projects-of-an-organization) or the [Scaleway console](https://console.scaleway.com/project/settings): </Message> 3. **Run the following command** to create an Elastic Metal server. Make sure you include the payload you edited in the previous step. ```bash curl -X POST \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers \\ -d \'{ \"offer_id\": \"bd757ca3-a71b-4158-9ef5-39436b6db2a4\", \"project_id\": \"cc6d123a-bc09-4e24-b5d9-3310f2104e13\", \"name\": \"MyElasticMetal\", \"description\": \"My_Elastic_Metal_Server\", \"tags\": [ \"Ubuntu22\", \"Dedicated\" ], \"install\": { \"os_id\": \"96e5f0f2-d216-4de2-8a15-68730d877885\", \"hostname\": \"elasticmetal.example.com\", \"ssh_key_ids\": [ \"fa05e77f-66b7-43b9-bc21-4dfe3c5bb624\" ], \"user\": \"ubuntu\", \"password\": \"mySecretPa$$word\" \"option_ids\": [ \"string\" ] }\" ``` 4. **List your Elastic Metal servers.** ```bash curl -X GET \\ -H \"Content-Type: application/json\" \\ -H \"X-Auth-Token: $SECRET_KEY\" https://api.scaleway.com/baremetal/v1/zones/$ZONE/servers ``` 5. **Retrieve your Elastic Metal server IP** from the response. 6. **Connect to your Elastic Metal server** using SSH ```bash ssh root@my-elastic-metal-server-ip ``` (switchcolumn) <Message type=\"requirement\"> To perform the following steps, you must first ensure that: - you have an account and are logged into the [Scaleway console](https://console.scaleway.com/organization) - you have created an [API key](https://www.scaleway.com/en/docs/iam/how-to/create-api-keys/) and that the API key has sufficient [IAM permissions](https://www.scaleway.com/en/docs/iam/reference-content/permission-sets/) to perform the actions described on this page. - you have [installed `curl`](https://curl.se/download.html) </Message> (switchcolumn) ## Technical information ### Features - Installation (Server is installed by preseed [preseed: complete install from a virtual media], you must define at least one ssh key to install your server) - Start/Stop/Reboot - Rescue Reboot, a rescue image is an operating system image designed to help you diagnose and fix OS experiencing failures. When your server boot on rescue, you can mount your disks and start diagnosing/fixing your image. - Billed by the minute (billing starts when the server is delivered and stops when the server is deleted) - IPv6, all servers are available with a /128 IPv6 subnet - ReverseIP, You can configure your reverse IP (IPv4 and IPv6), you must register the server IP in your DNS records before calling the endpoint - Basic monitoring with ping status - Flexible IP is available ([documentation](https://www.scaleway.com/en/developers/api/elastic-metal-flexible-ip/)) ### Availability Zones Scaleway\'s infrastructure is spread across different [regions and Availability Zones](https://www.scaleway.com/en/docs/account/reference-content/products-availability/). Elastic Metal servers are available in Paris, Amsterdam, and Warsaw regions, with product availability in the following AZs: | Name | API ID | |-----------|----------------------------------| | Paris | `fr-par-1` `fr-par-2` | | Amsterdam | `nl-ams-1` `nl-ams-2` | | Warsaw | `pl-waw-2` `pl-waw-3` | ## Technical limitations - Failover IPs are not available in API `v1`, use the API `v1alpha1` ## Going further For more help using Scaleway Elastic Metal servers, check out the following resources: - Our [main documentation](https://www.scaleway.com/en/docs/elastic-metal/) - The #elastic-metal channel on our [Slack Community](https://www.scaleway.com/en/docs/tutorials/scaleway-slack-community/) - Our [support ticketing system](https://www.scaleway.com/en/docs/account/how-to/open-a-support-ticket/) ### Troubleshooting #### How is the installation of Elastic Metal servers done? - The installation of Elastic Metal servers is done by preseed (± 10min) (preseed: complete install from a virtual media) #### How can I retrieve my secret key and Project ID? You can find your [secret key](https://console.scaleway.com/iam/api-keys) and your [Project ID](https://console.scaleway.com/project/credentials) in the Scaleway console. #### How can I add my server to a Private Network? See [our dedicated documentation](/en/developers/api/elastic-metal-flexible-ip).
4
+ *
5
+ * The version of the OpenAPI document: v1
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ export * from './api';
13
+ export * from './configuration';