@reyemtech/nimbus 0.1.0

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 (363) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +399 -0
  3. package/dist/cjs/aws/cluster.d.ts +32 -0
  4. package/dist/cjs/aws/cluster.d.ts.map +1 -0
  5. package/dist/cjs/aws/cluster.js +214 -0
  6. package/dist/cjs/aws/cluster.js.map +1 -0
  7. package/dist/cjs/aws/dns.d.ts +22 -0
  8. package/dist/cjs/aws/dns.d.ts.map +1 -0
  9. package/dist/cjs/aws/dns.js +95 -0
  10. package/dist/cjs/aws/dns.js.map +1 -0
  11. package/dist/cjs/aws/index.d.ts +10 -0
  12. package/dist/cjs/aws/index.d.ts.map +1 -0
  13. package/dist/cjs/aws/index.js +17 -0
  14. package/dist/cjs/aws/index.js.map +1 -0
  15. package/dist/cjs/aws/network.d.ts +27 -0
  16. package/dist/cjs/aws/network.d.ts.map +1 -0
  17. package/dist/cjs/aws/network.js +262 -0
  18. package/dist/cjs/aws/network.js.map +1 -0
  19. package/dist/cjs/aws/secrets.d.ts +26 -0
  20. package/dist/cjs/aws/secrets.d.ts.map +1 -0
  21. package/dist/cjs/aws/secrets.js +127 -0
  22. package/dist/cjs/aws/secrets.js.map +1 -0
  23. package/dist/cjs/azure/cluster.d.ts +44 -0
  24. package/dist/cjs/azure/cluster.d.ts.map +1 -0
  25. package/dist/cjs/azure/cluster.js +143 -0
  26. package/dist/cjs/azure/cluster.js.map +1 -0
  27. package/dist/cjs/azure/dns.d.ts +28 -0
  28. package/dist/cjs/azure/dns.d.ts.map +1 -0
  29. package/dist/cjs/azure/dns.js +169 -0
  30. package/dist/cjs/azure/dns.js.map +1 -0
  31. package/dist/cjs/azure/index.d.ts +10 -0
  32. package/dist/cjs/azure/index.d.ts.map +1 -0
  33. package/dist/cjs/azure/index.js +17 -0
  34. package/dist/cjs/azure/index.js.map +1 -0
  35. package/dist/cjs/azure/network.d.ts +28 -0
  36. package/dist/cjs/azure/network.d.ts.map +1 -0
  37. package/dist/cjs/azure/network.js +176 -0
  38. package/dist/cjs/azure/network.js.map +1 -0
  39. package/dist/cjs/azure/secrets.d.ts +37 -0
  40. package/dist/cjs/azure/secrets.d.ts.map +1 -0
  41. package/dist/cjs/azure/secrets.js +150 -0
  42. package/dist/cjs/azure/secrets.js.map +1 -0
  43. package/dist/cjs/cache/index.d.ts +7 -0
  44. package/dist/cjs/cache/index.d.ts.map +1 -0
  45. package/dist/cjs/cache/index.js +8 -0
  46. package/dist/cjs/cache/index.js.map +1 -0
  47. package/dist/cjs/cache/interfaces.d.ts +60 -0
  48. package/dist/cjs/cache/interfaces.d.ts.map +1 -0
  49. package/dist/cjs/cache/interfaces.js +11 -0
  50. package/dist/cjs/cache/interfaces.js.map +1 -0
  51. package/dist/cjs/cluster/index.d.ts +7 -0
  52. package/dist/cjs/cluster/index.d.ts.map +1 -0
  53. package/dist/cjs/cluster/index.js +8 -0
  54. package/dist/cjs/cluster/index.js.map +1 -0
  55. package/dist/cjs/cluster/interfaces.d.ts +120 -0
  56. package/dist/cjs/cluster/interfaces.d.ts.map +1 -0
  57. package/dist/cjs/cluster/interfaces.js +12 -0
  58. package/dist/cjs/cluster/interfaces.js.map +1 -0
  59. package/dist/cjs/database/index.d.ts +7 -0
  60. package/dist/cjs/database/index.d.ts.map +1 -0
  61. package/dist/cjs/database/index.js +8 -0
  62. package/dist/cjs/database/index.js.map +1 -0
  63. package/dist/cjs/database/interfaces.d.ts +93 -0
  64. package/dist/cjs/database/interfaces.d.ts.map +1 -0
  65. package/dist/cjs/database/interfaces.js +12 -0
  66. package/dist/cjs/database/interfaces.js.map +1 -0
  67. package/dist/cjs/dns/index.d.ts +7 -0
  68. package/dist/cjs/dns/index.d.ts.map +1 -0
  69. package/dist/cjs/dns/index.js +8 -0
  70. package/dist/cjs/dns/index.js.map +1 -0
  71. package/dist/cjs/dns/interfaces.d.ts +55 -0
  72. package/dist/cjs/dns/interfaces.d.ts.map +1 -0
  73. package/dist/cjs/dns/interfaces.js +11 -0
  74. package/dist/cjs/dns/interfaces.js.map +1 -0
  75. package/dist/cjs/factories/cluster.d.ts +45 -0
  76. package/dist/cjs/factories/cluster.d.ts.map +1 -0
  77. package/dist/cjs/factories/cluster.js +90 -0
  78. package/dist/cjs/factories/cluster.js.map +1 -0
  79. package/dist/cjs/factories/dns.d.ts +30 -0
  80. package/dist/cjs/factories/dns.d.ts.map +1 -0
  81. package/dist/cjs/factories/dns.js +56 -0
  82. package/dist/cjs/factories/dns.js.map +1 -0
  83. package/dist/cjs/factories/index.d.ts +15 -0
  84. package/dist/cjs/factories/index.d.ts.map +1 -0
  85. package/dist/cjs/factories/index.js +23 -0
  86. package/dist/cjs/factories/index.js.map +1 -0
  87. package/dist/cjs/factories/network.d.ts +40 -0
  88. package/dist/cjs/factories/network.d.ts.map +1 -0
  89. package/dist/cjs/factories/network.js +85 -0
  90. package/dist/cjs/factories/network.js.map +1 -0
  91. package/dist/cjs/factories/secrets.d.ts +38 -0
  92. package/dist/cjs/factories/secrets.d.ts.map +1 -0
  93. package/dist/cjs/factories/secrets.js +67 -0
  94. package/dist/cjs/factories/secrets.js.map +1 -0
  95. package/dist/cjs/factories/types.d.ts +75 -0
  96. package/dist/cjs/factories/types.d.ts.map +1 -0
  97. package/dist/cjs/factories/types.js +28 -0
  98. package/dist/cjs/factories/types.js.map +1 -0
  99. package/dist/cjs/global-lb/glb.d.ts +29 -0
  100. package/dist/cjs/global-lb/glb.d.ts.map +1 -0
  101. package/dist/cjs/global-lb/glb.js +220 -0
  102. package/dist/cjs/global-lb/glb.js.map +1 -0
  103. package/dist/cjs/global-lb/index.d.ts +8 -0
  104. package/dist/cjs/global-lb/index.d.ts.map +1 -0
  105. package/dist/cjs/global-lb/index.js +11 -0
  106. package/dist/cjs/global-lb/index.js.map +1 -0
  107. package/dist/cjs/global-lb/interfaces.d.ts +62 -0
  108. package/dist/cjs/global-lb/interfaces.d.ts.map +1 -0
  109. package/dist/cjs/global-lb/interfaces.js +11 -0
  110. package/dist/cjs/global-lb/interfaces.js.map +1 -0
  111. package/dist/cjs/index.d.ts +28 -0
  112. package/dist/cjs/index.d.ts.map +1 -0
  113. package/dist/cjs/index.js +72 -0
  114. package/dist/cjs/index.js.map +1 -0
  115. package/dist/cjs/network/cidr.d.ts +92 -0
  116. package/dist/cjs/network/cidr.d.ts.map +1 -0
  117. package/dist/cjs/network/cidr.js +189 -0
  118. package/dist/cjs/network/cidr.js.map +1 -0
  119. package/dist/cjs/network/index.d.ts +8 -0
  120. package/dist/cjs/network/index.d.ts.map +1 -0
  121. package/dist/cjs/network/index.js +17 -0
  122. package/dist/cjs/network/index.js.map +1 -0
  123. package/dist/cjs/network/interfaces.d.ts +60 -0
  124. package/dist/cjs/network/interfaces.d.ts.map +1 -0
  125. package/dist/cjs/network/interfaces.js +12 -0
  126. package/dist/cjs/network/interfaces.js.map +1 -0
  127. package/dist/cjs/platform/index.d.ts +8 -0
  128. package/dist/cjs/platform/index.d.ts.map +1 -0
  129. package/dist/cjs/platform/index.js +11 -0
  130. package/dist/cjs/platform/index.js.map +1 -0
  131. package/dist/cjs/platform/interfaces.d.ts +86 -0
  132. package/dist/cjs/platform/interfaces.d.ts.map +1 -0
  133. package/dist/cjs/platform/interfaces.js +12 -0
  134. package/dist/cjs/platform/interfaces.js.map +1 -0
  135. package/dist/cjs/platform/stack.d.ts +32 -0
  136. package/dist/cjs/platform/stack.d.ts.map +1 -0
  137. package/dist/cjs/platform/stack.js +258 -0
  138. package/dist/cjs/platform/stack.js.map +1 -0
  139. package/dist/cjs/queue/index.d.ts +7 -0
  140. package/dist/cjs/queue/index.d.ts.map +1 -0
  141. package/dist/cjs/queue/index.js +8 -0
  142. package/dist/cjs/queue/index.js.map +1 -0
  143. package/dist/cjs/queue/interfaces.d.ts +46 -0
  144. package/dist/cjs/queue/interfaces.d.ts.map +1 -0
  145. package/dist/cjs/queue/interfaces.js +11 -0
  146. package/dist/cjs/queue/interfaces.js.map +1 -0
  147. package/dist/cjs/secrets/index.d.ts +7 -0
  148. package/dist/cjs/secrets/index.d.ts.map +1 -0
  149. package/dist/cjs/secrets/index.js +8 -0
  150. package/dist/cjs/secrets/index.js.map +1 -0
  151. package/dist/cjs/secrets/interfaces.d.ts +73 -0
  152. package/dist/cjs/secrets/interfaces.d.ts.map +1 -0
  153. package/dist/cjs/secrets/interfaces.js +11 -0
  154. package/dist/cjs/secrets/interfaces.js.map +1 -0
  155. package/dist/cjs/storage/index.d.ts +7 -0
  156. package/dist/cjs/storage/index.d.ts.map +1 -0
  157. package/dist/cjs/storage/index.js +8 -0
  158. package/dist/cjs/storage/index.js.map +1 -0
  159. package/dist/cjs/storage/interfaces.d.ts +63 -0
  160. package/dist/cjs/storage/interfaces.d.ts.map +1 -0
  161. package/dist/cjs/storage/interfaces.js +11 -0
  162. package/dist/cjs/storage/interfaces.js.map +1 -0
  163. package/dist/cjs/types/cloud-target.d.ts +89 -0
  164. package/dist/cjs/types/cloud-target.d.ts.map +1 -0
  165. package/dist/cjs/types/cloud-target.js +73 -0
  166. package/dist/cjs/types/cloud-target.js.map +1 -0
  167. package/dist/cjs/types/errors.d.ts +96 -0
  168. package/dist/cjs/types/errors.d.ts.map +1 -0
  169. package/dist/cjs/types/errors.js +127 -0
  170. package/dist/cjs/types/errors.js.map +1 -0
  171. package/dist/cjs/types/index.d.ts +10 -0
  172. package/dist/cjs/types/index.d.ts.map +1 -0
  173. package/dist/cjs/types/index.js +33 -0
  174. package/dist/cjs/types/index.js.map +1 -0
  175. package/dist/cjs/types/tags.d.ts +53 -0
  176. package/dist/cjs/types/tags.d.ts.map +1 -0
  177. package/dist/cjs/types/tags.js +110 -0
  178. package/dist/cjs/types/tags.js.map +1 -0
  179. package/dist/cjs/types/validation.d.ts +63 -0
  180. package/dist/cjs/types/validation.d.ts.map +1 -0
  181. package/dist/cjs/types/validation.js +158 -0
  182. package/dist/cjs/types/validation.js.map +1 -0
  183. package/dist/esm/aws/cluster.d.ts +32 -0
  184. package/dist/esm/aws/cluster.d.ts.map +1 -0
  185. package/dist/esm/aws/cluster.js +214 -0
  186. package/dist/esm/aws/cluster.js.map +1 -0
  187. package/dist/esm/aws/dns.d.ts +22 -0
  188. package/dist/esm/aws/dns.d.ts.map +1 -0
  189. package/dist/esm/aws/dns.js +95 -0
  190. package/dist/esm/aws/dns.js.map +1 -0
  191. package/dist/esm/aws/index.d.ts +10 -0
  192. package/dist/esm/aws/index.d.ts.map +1 -0
  193. package/dist/esm/aws/index.js +17 -0
  194. package/dist/esm/aws/index.js.map +1 -0
  195. package/dist/esm/aws/network.d.ts +27 -0
  196. package/dist/esm/aws/network.d.ts.map +1 -0
  197. package/dist/esm/aws/network.js +262 -0
  198. package/dist/esm/aws/network.js.map +1 -0
  199. package/dist/esm/aws/secrets.d.ts +26 -0
  200. package/dist/esm/aws/secrets.d.ts.map +1 -0
  201. package/dist/esm/aws/secrets.js +127 -0
  202. package/dist/esm/aws/secrets.js.map +1 -0
  203. package/dist/esm/azure/cluster.d.ts +44 -0
  204. package/dist/esm/azure/cluster.d.ts.map +1 -0
  205. package/dist/esm/azure/cluster.js +143 -0
  206. package/dist/esm/azure/cluster.js.map +1 -0
  207. package/dist/esm/azure/dns.d.ts +28 -0
  208. package/dist/esm/azure/dns.d.ts.map +1 -0
  209. package/dist/esm/azure/dns.js +169 -0
  210. package/dist/esm/azure/dns.js.map +1 -0
  211. package/dist/esm/azure/index.d.ts +10 -0
  212. package/dist/esm/azure/index.d.ts.map +1 -0
  213. package/dist/esm/azure/index.js +17 -0
  214. package/dist/esm/azure/index.js.map +1 -0
  215. package/dist/esm/azure/network.d.ts +28 -0
  216. package/dist/esm/azure/network.d.ts.map +1 -0
  217. package/dist/esm/azure/network.js +176 -0
  218. package/dist/esm/azure/network.js.map +1 -0
  219. package/dist/esm/azure/secrets.d.ts +37 -0
  220. package/dist/esm/azure/secrets.d.ts.map +1 -0
  221. package/dist/esm/azure/secrets.js +150 -0
  222. package/dist/esm/azure/secrets.js.map +1 -0
  223. package/dist/esm/cache/index.d.ts +7 -0
  224. package/dist/esm/cache/index.d.ts.map +1 -0
  225. package/dist/esm/cache/index.js +8 -0
  226. package/dist/esm/cache/index.js.map +1 -0
  227. package/dist/esm/cache/interfaces.d.ts +60 -0
  228. package/dist/esm/cache/interfaces.d.ts.map +1 -0
  229. package/dist/esm/cache/interfaces.js +11 -0
  230. package/dist/esm/cache/interfaces.js.map +1 -0
  231. package/dist/esm/cluster/index.d.ts +7 -0
  232. package/dist/esm/cluster/index.d.ts.map +1 -0
  233. package/dist/esm/cluster/index.js +8 -0
  234. package/dist/esm/cluster/index.js.map +1 -0
  235. package/dist/esm/cluster/interfaces.d.ts +120 -0
  236. package/dist/esm/cluster/interfaces.d.ts.map +1 -0
  237. package/dist/esm/cluster/interfaces.js +12 -0
  238. package/dist/esm/cluster/interfaces.js.map +1 -0
  239. package/dist/esm/database/index.d.ts +7 -0
  240. package/dist/esm/database/index.d.ts.map +1 -0
  241. package/dist/esm/database/index.js +8 -0
  242. package/dist/esm/database/index.js.map +1 -0
  243. package/dist/esm/database/interfaces.d.ts +93 -0
  244. package/dist/esm/database/interfaces.d.ts.map +1 -0
  245. package/dist/esm/database/interfaces.js +12 -0
  246. package/dist/esm/database/interfaces.js.map +1 -0
  247. package/dist/esm/dns/index.d.ts +7 -0
  248. package/dist/esm/dns/index.d.ts.map +1 -0
  249. package/dist/esm/dns/index.js +8 -0
  250. package/dist/esm/dns/index.js.map +1 -0
  251. package/dist/esm/dns/interfaces.d.ts +55 -0
  252. package/dist/esm/dns/interfaces.d.ts.map +1 -0
  253. package/dist/esm/dns/interfaces.js +11 -0
  254. package/dist/esm/dns/interfaces.js.map +1 -0
  255. package/dist/esm/factories/cluster.d.ts +45 -0
  256. package/dist/esm/factories/cluster.d.ts.map +1 -0
  257. package/dist/esm/factories/cluster.js +90 -0
  258. package/dist/esm/factories/cluster.js.map +1 -0
  259. package/dist/esm/factories/dns.d.ts +30 -0
  260. package/dist/esm/factories/dns.d.ts.map +1 -0
  261. package/dist/esm/factories/dns.js +56 -0
  262. package/dist/esm/factories/dns.js.map +1 -0
  263. package/dist/esm/factories/index.d.ts +15 -0
  264. package/dist/esm/factories/index.d.ts.map +1 -0
  265. package/dist/esm/factories/index.js +23 -0
  266. package/dist/esm/factories/index.js.map +1 -0
  267. package/dist/esm/factories/network.d.ts +40 -0
  268. package/dist/esm/factories/network.d.ts.map +1 -0
  269. package/dist/esm/factories/network.js +85 -0
  270. package/dist/esm/factories/network.js.map +1 -0
  271. package/dist/esm/factories/secrets.d.ts +38 -0
  272. package/dist/esm/factories/secrets.d.ts.map +1 -0
  273. package/dist/esm/factories/secrets.js +67 -0
  274. package/dist/esm/factories/secrets.js.map +1 -0
  275. package/dist/esm/factories/types.d.ts +75 -0
  276. package/dist/esm/factories/types.d.ts.map +1 -0
  277. package/dist/esm/factories/types.js +28 -0
  278. package/dist/esm/factories/types.js.map +1 -0
  279. package/dist/esm/global-lb/glb.d.ts +29 -0
  280. package/dist/esm/global-lb/glb.d.ts.map +1 -0
  281. package/dist/esm/global-lb/glb.js +220 -0
  282. package/dist/esm/global-lb/glb.js.map +1 -0
  283. package/dist/esm/global-lb/index.d.ts +8 -0
  284. package/dist/esm/global-lb/index.d.ts.map +1 -0
  285. package/dist/esm/global-lb/index.js +11 -0
  286. package/dist/esm/global-lb/index.js.map +1 -0
  287. package/dist/esm/global-lb/interfaces.d.ts +62 -0
  288. package/dist/esm/global-lb/interfaces.d.ts.map +1 -0
  289. package/dist/esm/global-lb/interfaces.js +11 -0
  290. package/dist/esm/global-lb/interfaces.js.map +1 -0
  291. package/dist/esm/index.d.ts +28 -0
  292. package/dist/esm/index.d.ts.map +1 -0
  293. package/dist/esm/index.js +72 -0
  294. package/dist/esm/index.js.map +1 -0
  295. package/dist/esm/network/cidr.d.ts +92 -0
  296. package/dist/esm/network/cidr.d.ts.map +1 -0
  297. package/dist/esm/network/cidr.js +189 -0
  298. package/dist/esm/network/cidr.js.map +1 -0
  299. package/dist/esm/network/index.d.ts +8 -0
  300. package/dist/esm/network/index.d.ts.map +1 -0
  301. package/dist/esm/network/index.js +17 -0
  302. package/dist/esm/network/index.js.map +1 -0
  303. package/dist/esm/network/interfaces.d.ts +60 -0
  304. package/dist/esm/network/interfaces.d.ts.map +1 -0
  305. package/dist/esm/network/interfaces.js +12 -0
  306. package/dist/esm/network/interfaces.js.map +1 -0
  307. package/dist/esm/platform/index.d.ts +8 -0
  308. package/dist/esm/platform/index.d.ts.map +1 -0
  309. package/dist/esm/platform/index.js +11 -0
  310. package/dist/esm/platform/index.js.map +1 -0
  311. package/dist/esm/platform/interfaces.d.ts +86 -0
  312. package/dist/esm/platform/interfaces.d.ts.map +1 -0
  313. package/dist/esm/platform/interfaces.js +12 -0
  314. package/dist/esm/platform/interfaces.js.map +1 -0
  315. package/dist/esm/platform/stack.d.ts +32 -0
  316. package/dist/esm/platform/stack.d.ts.map +1 -0
  317. package/dist/esm/platform/stack.js +258 -0
  318. package/dist/esm/platform/stack.js.map +1 -0
  319. package/dist/esm/queue/index.d.ts +7 -0
  320. package/dist/esm/queue/index.d.ts.map +1 -0
  321. package/dist/esm/queue/index.js +8 -0
  322. package/dist/esm/queue/index.js.map +1 -0
  323. package/dist/esm/queue/interfaces.d.ts +46 -0
  324. package/dist/esm/queue/interfaces.d.ts.map +1 -0
  325. package/dist/esm/queue/interfaces.js +11 -0
  326. package/dist/esm/queue/interfaces.js.map +1 -0
  327. package/dist/esm/secrets/index.d.ts +7 -0
  328. package/dist/esm/secrets/index.d.ts.map +1 -0
  329. package/dist/esm/secrets/index.js +8 -0
  330. package/dist/esm/secrets/index.js.map +1 -0
  331. package/dist/esm/secrets/interfaces.d.ts +73 -0
  332. package/dist/esm/secrets/interfaces.d.ts.map +1 -0
  333. package/dist/esm/secrets/interfaces.js +11 -0
  334. package/dist/esm/secrets/interfaces.js.map +1 -0
  335. package/dist/esm/storage/index.d.ts +7 -0
  336. package/dist/esm/storage/index.d.ts.map +1 -0
  337. package/dist/esm/storage/index.js +8 -0
  338. package/dist/esm/storage/index.js.map +1 -0
  339. package/dist/esm/storage/interfaces.d.ts +63 -0
  340. package/dist/esm/storage/interfaces.d.ts.map +1 -0
  341. package/dist/esm/storage/interfaces.js +11 -0
  342. package/dist/esm/storage/interfaces.js.map +1 -0
  343. package/dist/esm/types/cloud-target.d.ts +89 -0
  344. package/dist/esm/types/cloud-target.d.ts.map +1 -0
  345. package/dist/esm/types/cloud-target.js +73 -0
  346. package/dist/esm/types/cloud-target.js.map +1 -0
  347. package/dist/esm/types/errors.d.ts +96 -0
  348. package/dist/esm/types/errors.d.ts.map +1 -0
  349. package/dist/esm/types/errors.js +127 -0
  350. package/dist/esm/types/errors.js.map +1 -0
  351. package/dist/esm/types/index.d.ts +10 -0
  352. package/dist/esm/types/index.d.ts.map +1 -0
  353. package/dist/esm/types/index.js +33 -0
  354. package/dist/esm/types/index.js.map +1 -0
  355. package/dist/esm/types/tags.d.ts +53 -0
  356. package/dist/esm/types/tags.d.ts.map +1 -0
  357. package/dist/esm/types/tags.js +110 -0
  358. package/dist/esm/types/tags.js.map +1 -0
  359. package/dist/esm/types/validation.d.ts +63 -0
  360. package/dist/esm/types/validation.d.ts.map +1 -0
  361. package/dist/esm/types/validation.js +158 -0
  362. package/dist/esm/types/validation.js.map +1 -0
  363. package/package.json +88 -0
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Factory types for cloud-agnostic resource creation.
3
+ *
4
+ * Defines provider-specific options that can be passed through
5
+ * the unified factory functions via the `providerOptions` field.
6
+ *
7
+ * @module factories/types
8
+ */
9
+ import type * as pulumi from "@pulumi/pulumi";
10
+ import type { CloudArg, CloudProvider, CloudTarget } from "../types";
11
+ /** AWS-specific options passed through factory functions. */
12
+ export interface IAwsProviderOptions {
13
+ /** fck-nat instance type. Default: "t4g.nano". */
14
+ readonly fckNatInstanceType?: string;
15
+ /** Number of AZs to use. Default: 2. */
16
+ readonly availabilityZoneCount?: number;
17
+ /** Enable EKS Auto Mode. Default: false. */
18
+ readonly autoMode?: boolean;
19
+ /** EKS add-ons to install. Default: vpc-cni, coredns, kube-proxy. */
20
+ readonly addons?: ReadonlyArray<string>;
21
+ /** Endpoint access: "public", "private", or "both". Default: "both". */
22
+ readonly endpointAccess?: "public" | "private" | "both";
23
+ }
24
+ /** Azure-specific options passed through factory functions. */
25
+ export interface IAzureProviderOptions {
26
+ /** Resource group name. Required for Azure. */
27
+ readonly resourceGroupName: pulumi.Input<string>;
28
+ /** Number of subnet pairs. Default: 2. */
29
+ readonly subnetCount?: number;
30
+ /** Enable Azure CNI networking. Default: true. */
31
+ readonly azureCni?: boolean;
32
+ /** Enable virtual node (ACI). Default: false. */
33
+ readonly virtualNodes?: boolean;
34
+ /** Azure AD tenant ID for RBAC integration. */
35
+ readonly aadTenantId?: string;
36
+ /** DNS prefix for the cluster FQDN. Default: cluster name. */
37
+ readonly dnsPrefix?: string;
38
+ /** Azure AD tenant ID for Key Vault. Required for secrets. */
39
+ readonly tenantId?: pulumi.Input<string>;
40
+ /** Object ID for Key Vault access. */
41
+ readonly objectId?: pulumi.Input<string>;
42
+ /** Key Vault SKU. Default: "standard". */
43
+ readonly sku?: "standard" | "premium";
44
+ }
45
+ /**
46
+ * Provider-specific options keyed by cloud provider.
47
+ *
48
+ * Used in factory functions to pass cloud-specific configuration
49
+ * without changing the unified API surface.
50
+ *
51
+ * @example
52
+ * ```typescript
53
+ * createNetwork("prod", {
54
+ * cloud: "azure",
55
+ * cidr: "10.1.0.0/16",
56
+ * providerOptions: {
57
+ * azure: { resourceGroupName: "my-rg" },
58
+ * },
59
+ * });
60
+ * ```
61
+ */
62
+ export interface IProviderOptions {
63
+ readonly aws?: IAwsProviderOptions;
64
+ readonly azure?: IAzureProviderOptions;
65
+ }
66
+ /**
67
+ * Extract the provider string from a CloudArg for single-target dispatch.
68
+ * For arrays, returns the first element's provider.
69
+ */
70
+ export declare function extractProvider(cloud: CloudProvider | CloudTarget): CloudProvider;
71
+ /**
72
+ * Check if a CloudArg is a multi-cloud array.
73
+ */
74
+ export declare function isMultiCloud(cloud: CloudArg): cloud is ReadonlyArray<CloudProvider | CloudTarget>;
75
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factories/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAErE,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,kDAAkD;IAClD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,wCAAwC;IACxC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qEAAqE;IACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,wEAAwE;IACxE,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;CACzD;AAED,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjD,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,iDAAiD;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,sCAAsC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACzC,0CAA0C;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACvC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,WAAW,GAAG,aAAa,CAGjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,QAAQ,GAAG,KAAK,IAAI,aAAa,CAAC,aAAa,GAAG,WAAW,CAAC,CAEjG"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ /**
3
+ * Factory types for cloud-agnostic resource creation.
4
+ *
5
+ * Defines provider-specific options that can be passed through
6
+ * the unified factory functions via the `providerOptions` field.
7
+ *
8
+ * @module factories/types
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.extractProvider = extractProvider;
12
+ exports.isMultiCloud = isMultiCloud;
13
+ /**
14
+ * Extract the provider string from a CloudArg for single-target dispatch.
15
+ * For arrays, returns the first element's provider.
16
+ */
17
+ function extractProvider(cloud) {
18
+ if (typeof cloud === "string")
19
+ return cloud;
20
+ return cloud.provider;
21
+ }
22
+ /**
23
+ * Check if a CloudArg is a multi-cloud array.
24
+ */
25
+ function isMultiCloud(cloud) {
26
+ return Array.isArray(cloud);
27
+ }
28
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factories/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAmEH,0CAGC;AAKD,oCAEC;AAdD;;;GAGG;AACH,SAAgB,eAAe,CAAC,KAAkC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAe;IAC1C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Global Load Balancer implementation.
3
+ *
4
+ * Routes traffic across multiple clusters using DNS-based health checks.
5
+ * Currently supports Route53 as the DNS provider. Azure Traffic Manager
6
+ * and Cloudflare can be added as future providers.
7
+ *
8
+ * @module global-lb/glb
9
+ */
10
+ import type { IGlobalLoadBalancer, IGlobalLoadBalancerConfig } from "./interfaces";
11
+ /**
12
+ * Create a Global Load Balancer across multiple clusters.
13
+ *
14
+ * Uses DNS-based routing with health checks to distribute traffic.
15
+ * Supports active-active, active-passive, and geo-routing strategies.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const glb = createGlobalLoadBalancer("prod", {
20
+ * strategy: "active-active",
21
+ * clusters: [awsCluster, azureCluster],
22
+ * domain: "app.example.com",
23
+ * healthCheck: { path: "/health", port: 443, protocol: "HTTPS" },
24
+ * dnsProvider: "route53",
25
+ * });
26
+ * ```
27
+ */
28
+ export declare function createGlobalLoadBalancer(name: string, config: IGlobalLoadBalancerConfig): IGlobalLoadBalancer;
29
+ //# sourceMappingURL=glb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glb.d.ts","sourceRoot":"","sources":["../../../src/global-lb/glb.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EACV,mBAAmB,EACnB,yBAAyB,EAE1B,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,GAChC,mBAAmB,CASrB"}
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ /**
3
+ * Global Load Balancer implementation.
4
+ *
5
+ * Routes traffic across multiple clusters using DNS-based health checks.
6
+ * Currently supports Route53 as the DNS provider. Azure Traffic Manager
7
+ * and Cloudflare can be added as future providers.
8
+ *
9
+ * @module global-lb/glb
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.createGlobalLoadBalancer = createGlobalLoadBalancer;
46
+ const aws = __importStar(require("@pulumi/aws"));
47
+ const pulumi = __importStar(require("@pulumi/pulumi"));
48
+ /**
49
+ * Create a Global Load Balancer across multiple clusters.
50
+ *
51
+ * Uses DNS-based routing with health checks to distribute traffic.
52
+ * Supports active-active, active-passive, and geo-routing strategies.
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const glb = createGlobalLoadBalancer("prod", {
57
+ * strategy: "active-active",
58
+ * clusters: [awsCluster, azureCluster],
59
+ * domain: "app.example.com",
60
+ * healthCheck: { path: "/health", port: 443, protocol: "HTTPS" },
61
+ * dnsProvider: "route53",
62
+ * });
63
+ * ```
64
+ */
65
+ function createGlobalLoadBalancer(name, config) {
66
+ switch (config.dnsProvider) {
67
+ case "route53":
68
+ return createRoute53Glb(name, config);
69
+ case "cloudflare":
70
+ case "azure-traffic-manager":
71
+ // Placeholder for future providers
72
+ return createRoute53Glb(name, config);
73
+ }
74
+ }
75
+ function createRoute53Glb(name, config) {
76
+ const hc = config.healthCheck;
77
+ // Create a hosted zone for the GLB domain (or reference existing)
78
+ const domainParts = config.domain.split(".");
79
+ const zoneDomain = domainParts.slice(-2).join(".");
80
+ const zone = aws.route53.getZoneOutput({ name: zoneDomain });
81
+ // Create health checks for each cluster
82
+ const healthChecks = config.clusters.map((cluster, i) => {
83
+ const healthCheck = new aws.route53.HealthCheck(`${name}-hc-${i}`, {
84
+ type: hc.protocol === "TCP" ? "TCP" : `${hc.protocol}_STR_MATCH`,
85
+ resourcePath: hc.protocol !== "TCP" ? hc.path : undefined,
86
+ port: hc.port,
87
+ requestInterval: hc.intervalSeconds ?? 30,
88
+ failureThreshold: hc.unhealthyThreshold ?? 3,
89
+ fqdn: cluster.endpoint.apply((ep) => {
90
+ try {
91
+ return new URL(ep).hostname;
92
+ }
93
+ catch {
94
+ return ep;
95
+ }
96
+ }),
97
+ searchString: hc.protocol !== "TCP" ? "ok" : undefined,
98
+ tags: { Name: `${name}-hc-${cluster.name}` },
99
+ });
100
+ return { cluster, healthCheck };
101
+ });
102
+ // Create DNS records based on routing strategy
103
+ switch (config.strategy) {
104
+ case "active-active": {
105
+ // Weighted routing — equal weight across all clusters
106
+ for (const [i, entry] of healthChecks.entries()) {
107
+ new aws.route53.Record(`${name}-record-${i}`, {
108
+ zoneId: zone.zoneId,
109
+ name: config.domain,
110
+ type: "CNAME",
111
+ ttl: 60,
112
+ setIdentifier: `${name}-${entry.cluster.name}`,
113
+ weightedRoutingPolicies: [{ weight: 100 }],
114
+ healthCheckId: entry.healthCheck.id,
115
+ records: [
116
+ entry.cluster.endpoint.apply((ep) => {
117
+ try {
118
+ return new URL(ep).hostname;
119
+ }
120
+ catch {
121
+ return ep;
122
+ }
123
+ }),
124
+ ],
125
+ });
126
+ }
127
+ break;
128
+ }
129
+ case "active-passive": {
130
+ // Failover routing — primary + secondary
131
+ for (const [i, entry] of healthChecks.entries()) {
132
+ new aws.route53.Record(`${name}-record-${i}`, {
133
+ zoneId: zone.zoneId,
134
+ name: config.domain,
135
+ type: "CNAME",
136
+ ttl: 60,
137
+ setIdentifier: `${name}-${entry.cluster.name}`,
138
+ failoverRoutingPolicies: [{ type: i === 0 ? "PRIMARY" : "SECONDARY" }],
139
+ healthCheckId: entry.healthCheck.id,
140
+ records: [
141
+ entry.cluster.endpoint.apply((ep) => {
142
+ try {
143
+ return new URL(ep).hostname;
144
+ }
145
+ catch {
146
+ return ep;
147
+ }
148
+ }),
149
+ ],
150
+ });
151
+ }
152
+ break;
153
+ }
154
+ case "geo": {
155
+ // Geolocation routing — defaults to continent-based
156
+ const continents = ["NA", "EU", "AP", "SA", "AF", "OC"];
157
+ for (const [i, entry] of healthChecks.entries()) {
158
+ new aws.route53.Record(`${name}-record-${i}`, {
159
+ zoneId: zone.zoneId,
160
+ name: config.domain,
161
+ type: "CNAME",
162
+ ttl: 60,
163
+ setIdentifier: `${name}-${entry.cluster.name}`,
164
+ geolocationRoutingPolicies: [
165
+ i < continents.length ? { continent: continents[i] } : { country: "*" },
166
+ ],
167
+ healthCheckId: entry.healthCheck.id,
168
+ records: [
169
+ entry.cluster.endpoint.apply((ep) => {
170
+ try {
171
+ return new URL(ep).hostname;
172
+ }
173
+ catch {
174
+ return ep;
175
+ }
176
+ }),
177
+ ],
178
+ });
179
+ }
180
+ // Default fallback record
181
+ if (healthChecks.length > 0) {
182
+ const fallback = healthChecks[0];
183
+ if (fallback) {
184
+ new aws.route53.Record(`${name}-record-default`, {
185
+ zoneId: zone.zoneId,
186
+ name: config.domain,
187
+ type: "CNAME",
188
+ ttl: 60,
189
+ setIdentifier: `${name}-default`,
190
+ geolocationRoutingPolicies: [{ country: "*" }],
191
+ healthCheckId: fallback.healthCheck.id,
192
+ records: [
193
+ fallback.cluster.endpoint.apply((ep) => {
194
+ try {
195
+ return new URL(ep).hostname;
196
+ }
197
+ catch {
198
+ return ep;
199
+ }
200
+ }),
201
+ ],
202
+ });
203
+ }
204
+ }
205
+ break;
206
+ }
207
+ }
208
+ // Health status output
209
+ const healthStatus = pulumi.all(healthChecks.map((entry) => pulumi.all([pulumi.output(entry.cluster.name), entry.healthCheck.id]).apply(([clusterName]) => ({
210
+ cluster: clusterName,
211
+ healthy: true, // Initial state; actual health determined by Route53
212
+ }))));
213
+ return {
214
+ name,
215
+ strategy: config.strategy,
216
+ endpoint: pulumi.output(config.domain),
217
+ healthStatus: healthStatus,
218
+ };
219
+ }
220
+ //# sourceMappingURL=glb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glb.js","sourceRoot":"","sources":["../../../src/global-lb/glb.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Global load balancer module — multi-cloud traffic routing.
3
+ *
4
+ * @module global-lb
5
+ */
6
+ export type { RoutingStrategy, GlbDnsProvider, IHealthCheck, IGlobalLoadBalancerConfig, IClusterHealthStatus, IGlobalLoadBalancer, } from "./interfaces";
7
+ export { createGlobalLoadBalancer } from "./glb";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/global-lb/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EACV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,yBAAyB,EACzB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Global load balancer module — multi-cloud traffic routing.
4
+ *
5
+ * @module global-lb
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.createGlobalLoadBalancer = void 0;
9
+ var glb_1 = require("./glb");
10
+ Object.defineProperty(exports, "createGlobalLoadBalancer", { enumerable: true, get: function () { return glb_1.createGlobalLoadBalancer; } });
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/global-lb/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAWH,6BAAiD;AAAxC,+GAAA,wBAAwB,OAAA"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Global load balancer interfaces for @reyemtech/nimbus.
3
+ *
4
+ * Multi-cloud traffic routing with health checks, supporting
5
+ * active-active, active-passive, and geo-routing strategies.
6
+ *
7
+ * @module global-lb/interfaces
8
+ */
9
+ import type * as pulumi from "@pulumi/pulumi";
10
+ import type { ICluster } from "../cluster";
11
+ /** Routing strategy for multi-cluster traffic. */
12
+ export type RoutingStrategy = "active-active" | "active-passive" | "geo";
13
+ /** DNS provider for global load balancing. */
14
+ export type GlbDnsProvider = "route53" | "cloudflare" | "azure-traffic-manager";
15
+ /** Health check configuration. */
16
+ export interface IHealthCheck {
17
+ readonly path: string;
18
+ readonly port: number;
19
+ readonly protocol: "HTTP" | "HTTPS" | "TCP";
20
+ /** Health check interval in seconds. Default: 30. */
21
+ readonly intervalSeconds?: number;
22
+ /** Timeout in seconds. Default: 10. */
23
+ readonly timeoutSeconds?: number;
24
+ /** Consecutive successes needed to mark healthy. Default: 3. */
25
+ readonly healthyThreshold?: number;
26
+ /** Consecutive failures needed to mark unhealthy. Default: 3. */
27
+ readonly unhealthyThreshold?: number;
28
+ }
29
+ /**
30
+ * Global load balancer configuration input.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const config: IGlobalLoadBalancerConfig = {
35
+ * strategy: "active-active",
36
+ * clusters: [awsCluster, azureCluster],
37
+ * domain: "app.example.com",
38
+ * healthCheck: { path: "/health", port: 443, protocol: "HTTPS" },
39
+ * dnsProvider: "route53",
40
+ * };
41
+ * ```
42
+ */
43
+ export interface IGlobalLoadBalancerConfig {
44
+ readonly strategy: RoutingStrategy;
45
+ readonly clusters: ReadonlyArray<ICluster>;
46
+ readonly domain: string;
47
+ readonly healthCheck: IHealthCheck;
48
+ readonly dnsProvider: GlbDnsProvider;
49
+ }
50
+ /** Cluster health status entry. */
51
+ export interface IClusterHealthStatus {
52
+ readonly cluster: string;
53
+ readonly healthy: boolean;
54
+ }
55
+ /** Global load balancer output. */
56
+ export interface IGlobalLoadBalancer {
57
+ readonly name: string;
58
+ readonly strategy: RoutingStrategy;
59
+ readonly endpoint: pulumi.Output<string>;
60
+ readonly healthStatus: pulumi.Output<ReadonlyArray<IClusterHealthStatus>>;
61
+ }
62
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/global-lb/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,kDAAkD;AAClD,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,gBAAgB,GAChB,KAAK,CAAC;AAEV,8CAA8C;AAC9C,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,YAAY,GACZ,uBAAuB,CAAC;AAE5B,kCAAkC;AAClC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAC5C,qDAAqD;IACrD,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,uCAAuC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,iEAAiE;IACjE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;CACtC;AAED,mCAAmC;AACnC,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,mCAAmC;AACnC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;CAC3E"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * Global load balancer interfaces for @reyemtech/nimbus.
4
+ *
5
+ * Multi-cloud traffic routing with health checks, supporting
6
+ * active-active, active-passive, and geo-routing strategies.
7
+ *
8
+ * @module global-lb/interfaces
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/global-lb/interfaces.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @reyemtech/nimbus
3
+ *
4
+ * Cloud-agnostic infrastructure abstractions for Pulumi.
5
+ * Enables BCDR: any client environment fully reproducible from code,
6
+ * cloud migration = change one config value.
7
+ *
8
+ * @packageDocumentation
9
+ */
10
+ export { type CloudProvider, type CloudTarget, type CloudArg, type ResolvedCloudTarget, DEFAULT_REGIONS, CLOUD_PROVIDERS, isCloudProvider, isCloudTarget, resolveCloudTarget, } from "./types";
11
+ export { type ErrorCode, ERROR_CODES, AnyCloudError, CloudValidationError, CidrError, UnsupportedFeatureError, ConfigError, assertNever, } from "./types";
12
+ export { type IRequiredTags, normalizeTags, isValidGcpLabel, mergeWithRequiredTags } from "./types";
13
+ export { type IValidationResult, validateFeature, isFeatureSupported, validateMultiCloud, validateResourceName, assertValidMultiCloud, } from "./types";
14
+ export type { INodeTaint, INodePool, IClusterConfig, ICluster, IEksClusterExtensions, IAksClusterExtensions, IGkeClusterExtensions, ProviderClusterExtensions, } from "./cluster";
15
+ export type { NatStrategy, ISubnetConfig, INetworkConfig, INetwork } from "./network";
16
+ export { parseCidr, formatIp, cidrsOverlap, detectOverlaps, validateNoOverlaps, autoOffsetCidrs, buildCidrMap, } from "./network";
17
+ export type { DnsRecordType, IDnsRecord, IDnsConfig, IDns } from "./dns";
18
+ export type { SecretBackend, ISecretRef, ISecretsConfig, ISecrets } from "./secrets";
19
+ export type { DatabaseEngine, DatabaseMode, DatabaseOperator, IDatabaseBackupConfig, IDatabaseConfig, IDatabase, } from "./database";
20
+ export type { CacheEngine, CacheMode, CacheArchitecture, ICacheConfig, ICache } from "./cache";
21
+ export type { ILifecycleRule, ICorsRule, IObjectStorageConfig, IObjectStorage } from "./storage";
22
+ export type { QueueEngine, QueueMode, QueueType, IQueueConfig, IQueue } from "./queue";
23
+ export { type DnsProvider, type IPlatformComponentConfig, type IExternalDnsConfig, type IVaultConfig, type IPlatformStackConfig, type IPlatformStack, createPlatformStack, } from "./platform";
24
+ export { type RoutingStrategy, type GlbDnsProvider, type IHealthCheck, type IGlobalLoadBalancerConfig, type IClusterHealthStatus, type IGlobalLoadBalancer, createGlobalLoadBalancer, } from "./global-lb";
25
+ export { createNetwork, createCluster, createDns, createSecrets, type ICreateNetworkConfig, type ICreateClusterConfig, type ICreateDnsConfig, type ICreateSecretsConfig, type IProviderOptions, type IAwsProviderOptions, type IAzureProviderOptions, extractProvider, isMultiCloud, } from "./factories";
26
+ export { createAwsNetwork, type IAwsNetworkOptions, createEksCluster, type IEksOptions, createRoute53Dns, createAwsSecrets, } from "./aws";
27
+ export { createAzureNetwork, type IAzureNetworkOptions, createAksCluster, type IAksOptions, createAzureDns, type IAzureDnsOptions, createAzureSecrets, type IAzureSecretsOptions, } from "./azure";
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ /**
3
+ * @reyemtech/nimbus
4
+ *
5
+ * Cloud-agnostic infrastructure abstractions for Pulumi.
6
+ * Enables BCDR: any client environment fully reproducible from code,
7
+ * cloud migration = change one config value.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.createAzureSecrets = exports.createAzureDns = exports.createAksCluster = exports.createAzureNetwork = exports.createAwsSecrets = exports.createRoute53Dns = exports.createEksCluster = exports.createAwsNetwork = exports.isMultiCloud = exports.extractProvider = exports.createSecrets = exports.createDns = exports.createCluster = exports.createNetwork = exports.createGlobalLoadBalancer = exports.createPlatformStack = exports.buildCidrMap = exports.autoOffsetCidrs = exports.validateNoOverlaps = exports.detectOverlaps = exports.cidrsOverlap = exports.formatIp = exports.parseCidr = exports.assertValidMultiCloud = exports.validateResourceName = exports.validateMultiCloud = exports.isFeatureSupported = exports.validateFeature = exports.mergeWithRequiredTags = exports.isValidGcpLabel = exports.normalizeTags = exports.assertNever = exports.ConfigError = exports.UnsupportedFeatureError = exports.CidrError = exports.CloudValidationError = exports.AnyCloudError = exports.ERROR_CODES = exports.resolveCloudTarget = exports.isCloudTarget = exports.isCloudProvider = exports.CLOUD_PROVIDERS = exports.DEFAULT_REGIONS = void 0;
13
+ // Core types
14
+ var types_1 = require("./types");
15
+ Object.defineProperty(exports, "DEFAULT_REGIONS", { enumerable: true, get: function () { return types_1.DEFAULT_REGIONS; } });
16
+ Object.defineProperty(exports, "CLOUD_PROVIDERS", { enumerable: true, get: function () { return types_1.CLOUD_PROVIDERS; } });
17
+ Object.defineProperty(exports, "isCloudProvider", { enumerable: true, get: function () { return types_1.isCloudProvider; } });
18
+ Object.defineProperty(exports, "isCloudTarget", { enumerable: true, get: function () { return types_1.isCloudTarget; } });
19
+ Object.defineProperty(exports, "resolveCloudTarget", { enumerable: true, get: function () { return types_1.resolveCloudTarget; } });
20
+ var types_2 = require("./types");
21
+ Object.defineProperty(exports, "ERROR_CODES", { enumerable: true, get: function () { return types_2.ERROR_CODES; } });
22
+ Object.defineProperty(exports, "AnyCloudError", { enumerable: true, get: function () { return types_2.AnyCloudError; } });
23
+ Object.defineProperty(exports, "CloudValidationError", { enumerable: true, get: function () { return types_2.CloudValidationError; } });
24
+ Object.defineProperty(exports, "CidrError", { enumerable: true, get: function () { return types_2.CidrError; } });
25
+ Object.defineProperty(exports, "UnsupportedFeatureError", { enumerable: true, get: function () { return types_2.UnsupportedFeatureError; } });
26
+ Object.defineProperty(exports, "ConfigError", { enumerable: true, get: function () { return types_2.ConfigError; } });
27
+ Object.defineProperty(exports, "assertNever", { enumerable: true, get: function () { return types_2.assertNever; } });
28
+ var types_3 = require("./types");
29
+ Object.defineProperty(exports, "normalizeTags", { enumerable: true, get: function () { return types_3.normalizeTags; } });
30
+ Object.defineProperty(exports, "isValidGcpLabel", { enumerable: true, get: function () { return types_3.isValidGcpLabel; } });
31
+ Object.defineProperty(exports, "mergeWithRequiredTags", { enumerable: true, get: function () { return types_3.mergeWithRequiredTags; } });
32
+ var types_4 = require("./types");
33
+ Object.defineProperty(exports, "validateFeature", { enumerable: true, get: function () { return types_4.validateFeature; } });
34
+ Object.defineProperty(exports, "isFeatureSupported", { enumerable: true, get: function () { return types_4.isFeatureSupported; } });
35
+ Object.defineProperty(exports, "validateMultiCloud", { enumerable: true, get: function () { return types_4.validateMultiCloud; } });
36
+ Object.defineProperty(exports, "validateResourceName", { enumerable: true, get: function () { return types_4.validateResourceName; } });
37
+ Object.defineProperty(exports, "assertValidMultiCloud", { enumerable: true, get: function () { return types_4.assertValidMultiCloud; } });
38
+ var network_1 = require("./network");
39
+ Object.defineProperty(exports, "parseCidr", { enumerable: true, get: function () { return network_1.parseCidr; } });
40
+ Object.defineProperty(exports, "formatIp", { enumerable: true, get: function () { return network_1.formatIp; } });
41
+ Object.defineProperty(exports, "cidrsOverlap", { enumerable: true, get: function () { return network_1.cidrsOverlap; } });
42
+ Object.defineProperty(exports, "detectOverlaps", { enumerable: true, get: function () { return network_1.detectOverlaps; } });
43
+ Object.defineProperty(exports, "validateNoOverlaps", { enumerable: true, get: function () { return network_1.validateNoOverlaps; } });
44
+ Object.defineProperty(exports, "autoOffsetCidrs", { enumerable: true, get: function () { return network_1.autoOffsetCidrs; } });
45
+ Object.defineProperty(exports, "buildCidrMap", { enumerable: true, get: function () { return network_1.buildCidrMap; } });
46
+ // Platform
47
+ var platform_1 = require("./platform");
48
+ Object.defineProperty(exports, "createPlatformStack", { enumerable: true, get: function () { return platform_1.createPlatformStack; } });
49
+ // Global Load Balancer
50
+ var global_lb_1 = require("./global-lb");
51
+ Object.defineProperty(exports, "createGlobalLoadBalancer", { enumerable: true, get: function () { return global_lb_1.createGlobalLoadBalancer; } });
52
+ // Factory functions (primary API)
53
+ var factories_1 = require("./factories");
54
+ Object.defineProperty(exports, "createNetwork", { enumerable: true, get: function () { return factories_1.createNetwork; } });
55
+ Object.defineProperty(exports, "createCluster", { enumerable: true, get: function () { return factories_1.createCluster; } });
56
+ Object.defineProperty(exports, "createDns", { enumerable: true, get: function () { return factories_1.createDns; } });
57
+ Object.defineProperty(exports, "createSecrets", { enumerable: true, get: function () { return factories_1.createSecrets; } });
58
+ Object.defineProperty(exports, "extractProvider", { enumerable: true, get: function () { return factories_1.extractProvider; } });
59
+ Object.defineProperty(exports, "isMultiCloud", { enumerable: true, get: function () { return factories_1.isMultiCloud; } });
60
+ // AWS Provider (direct access)
61
+ var aws_1 = require("./aws");
62
+ Object.defineProperty(exports, "createAwsNetwork", { enumerable: true, get: function () { return aws_1.createAwsNetwork; } });
63
+ Object.defineProperty(exports, "createEksCluster", { enumerable: true, get: function () { return aws_1.createEksCluster; } });
64
+ Object.defineProperty(exports, "createRoute53Dns", { enumerable: true, get: function () { return aws_1.createRoute53Dns; } });
65
+ Object.defineProperty(exports, "createAwsSecrets", { enumerable: true, get: function () { return aws_1.createAwsSecrets; } });
66
+ // Azure Provider (direct access)
67
+ var azure_1 = require("./azure");
68
+ Object.defineProperty(exports, "createAzureNetwork", { enumerable: true, get: function () { return azure_1.createAzureNetwork; } });
69
+ Object.defineProperty(exports, "createAksCluster", { enumerable: true, get: function () { return azure_1.createAksCluster; } });
70
+ Object.defineProperty(exports, "createAzureDns", { enumerable: true, get: function () { return azure_1.createAzureDns; } });
71
+ Object.defineProperty(exports, "createAzureSecrets", { enumerable: true, get: function () { return azure_1.createAzureSecrets; } });
72
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,aAAa;AACb,iCAUiB;AALf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,wGAAA,eAAe,OAAA;AACf,sGAAA,aAAa,OAAA;AACb,2GAAA,kBAAkB,OAAA;AAGpB,iCASiB;AAPf,oGAAA,WAAW,OAAA;AACX,sGAAA,aAAa,OAAA;AACb,6GAAA,oBAAoB,OAAA;AACpB,kGAAA,SAAS,OAAA;AACT,gHAAA,uBAAuB,OAAA;AACvB,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AAGb,iCAAoG;AAAvE,sGAAA,aAAa,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAElF,iCAOiB;AALf,wGAAA,eAAe,OAAA;AACf,2GAAA,kBAAkB,OAAA;AAClB,2GAAA,kBAAkB,OAAA;AAClB,6GAAA,oBAAoB,OAAA;AACpB,8GAAA,qBAAqB,OAAA;AAkBvB,qCAQmB;AAPjB,oGAAA,SAAS,OAAA;AACT,mGAAA,QAAQ,OAAA;AACR,uGAAA,YAAY,OAAA;AACZ,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,0GAAA,eAAe,OAAA;AACf,uGAAA,YAAY,OAAA;AA4Bd,WAAW;AACX,uCAQoB;AADlB,+GAAA,mBAAmB,OAAA;AAGrB,uBAAuB;AACvB,yCAQqB;AADnB,qHAAA,wBAAwB,OAAA;AAG1B,kCAAkC;AAClC,yCAcqB;AAbnB,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AACb,sGAAA,SAAS,OAAA;AACT,0GAAA,aAAa,OAAA;AAQb,4GAAA,eAAe,OAAA;AACf,yGAAA,YAAY,OAAA;AAGd,+BAA+B;AAC/B,6BAOe;AANb,uGAAA,gBAAgB,OAAA;AAEhB,uGAAA,gBAAgB,OAAA;AAEhB,uGAAA,gBAAgB,OAAA;AAChB,uGAAA,gBAAgB,OAAA;AAGlB,iCAAiC;AACjC,iCASiB;AARf,2GAAA,kBAAkB,OAAA;AAElB,yGAAA,gBAAgB,OAAA;AAEhB,uGAAA,cAAc,OAAA;AAEd,2GAAA,kBAAkB,OAAA"}