@takumi-stack/core 1.0.0 → 1.0.2

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 (664) hide show
  1. package/common/archive/commons/get-function-entry.d.ts +2 -0
  2. package/common/archive/commons/get-function-entry.d.ts.map +1 -0
  3. package/common/archive/commons/get-function-entry.js +10 -0
  4. package/common/archive/commons/get-function-entry.js.map +1 -0
  5. package/common/archive/commons/get-logical-name.d.ts +2 -0
  6. package/common/archive/commons/get-logical-name.d.ts.map +1 -0
  7. package/common/archive/commons/get-logical-name.js +6 -0
  8. package/common/archive/commons/get-logical-name.js.map +1 -0
  9. package/common/archive/commons/naming/get-deploy-config.d.ts +2 -0
  10. package/common/archive/commons/naming/get-deploy-config.d.ts.map +1 -0
  11. package/common/archive/commons/naming/get-deploy-config.js +7 -0
  12. package/common/archive/commons/naming/get-deploy-config.js.map +1 -0
  13. package/common/archive/commons/naming/get-domain.d.ts +2 -0
  14. package/common/archive/commons/naming/get-domain.d.ts.map +1 -0
  15. package/common/archive/commons/naming/get-domain.js +15 -0
  16. package/common/archive/commons/naming/get-domain.js.map +1 -0
  17. package/common/archive/commons/naming/get-resource-name.d.ts +2 -0
  18. package/common/archive/commons/naming/get-resource-name.d.ts.map +1 -0
  19. package/common/archive/commons/naming/get-resource-name.js +73 -0
  20. package/common/archive/commons/naming/get-resource-name.js.map +1 -0
  21. package/common/archive/commons/naming/get-service-name.d.ts +2 -0
  22. package/common/archive/commons/naming/get-service-name.d.ts.map +1 -0
  23. package/common/archive/commons/naming/get-service-name.js +14 -0
  24. package/common/archive/commons/naming/get-service-name.js.map +1 -0
  25. package/common/archive/commons/naming/index.d.ts +5 -0
  26. package/common/archive/commons/naming/index.d.ts.map +1 -0
  27. package/common/{naming → archive/commons/naming}/index.js +3 -3
  28. package/common/archive/commons/naming/index.js.map +1 -0
  29. package/{script → common/archive/commons/script}/config-command/bootstrap.d.ts +1 -2
  30. package/common/archive/commons/script/config-command/bootstrap.d.ts.map +1 -0
  31. package/{script → common/archive/commons/script}/config-command/bootstrap.js +3 -4
  32. package/common/archive/commons/script/config-command/bootstrap.js.map +1 -0
  33. package/{script → common/archive/commons/script}/config-command/deploy-spa.d.ts +1 -2
  34. package/common/archive/commons/script/config-command/deploy-spa.d.ts.map +1 -0
  35. package/{script → common/archive/commons/script}/config-command/deploy-spa.js +4 -6
  36. package/common/archive/commons/script/config-command/deploy-spa.js.map +1 -0
  37. package/{script → common/archive/commons/script}/config-command/deploy.d.ts +1 -2
  38. package/common/archive/commons/script/config-command/deploy.d.ts.map +1 -0
  39. package/{script → common/archive/commons/script}/config-command/deploy.js +2 -2
  40. package/common/archive/commons/script/config-command/deploy.js.map +1 -0
  41. package/{script → common/archive/commons/script}/config-command/destroy.d.ts +1 -2
  42. package/common/archive/commons/script/config-command/destroy.d.ts.map +1 -0
  43. package/{script → common/archive/commons/script}/config-command/destroy.js +2 -2
  44. package/common/archive/commons/script/config-command/destroy.js.map +1 -0
  45. package/{script → common/archive/commons/script}/config-command/env-ssr.d.ts +1 -2
  46. package/common/archive/commons/script/config-command/env-ssr.d.ts.map +1 -0
  47. package/{script → common/archive/commons/script}/config-command/env-ssr.js +4 -6
  48. package/common/archive/commons/script/config-command/env-ssr.js.map +1 -0
  49. package/{script → common/archive/commons/script}/config-command/invalidation-ssr.d.ts +1 -2
  50. package/common/archive/commons/script/config-command/invalidation-ssr.d.ts.map +1 -0
  51. package/{script → common/archive/commons/script}/config-command/invalidation-ssr.js +4 -6
  52. package/common/archive/commons/script/config-command/invalidation-ssr.js.map +1 -0
  53. package/{script → common/archive/commons/script}/config-command/rds-migration.d.ts +1 -3
  54. package/common/archive/commons/script/config-command/rds-migration.d.ts.map +1 -0
  55. package/common/archive/commons/script/config-command/rds-migration.js.map +1 -0
  56. package/{script → common/archive/commons/script}/config-command/rds-sync.d.ts +1 -2
  57. package/common/archive/commons/script/config-command/rds-sync.d.ts.map +1 -0
  58. package/common/archive/commons/script/config-command/rds-sync.js.map +1 -0
  59. package/{script → common/archive/commons/script}/config-command/ssm-connect.d.ts +1 -2
  60. package/common/archive/commons/script/config-command/ssm-connect.d.ts.map +1 -0
  61. package/common/archive/commons/script/config-command/ssm-connect.js.map +1 -0
  62. package/{script → common/archive/commons/script}/config-command/start-spa.d.ts +1 -2
  63. package/common/archive/commons/script/config-command/start-spa.d.ts.map +1 -0
  64. package/{script → common/archive/commons/script}/config-command/start-spa.js +4 -6
  65. package/common/archive/commons/script/config-command/start-spa.js.map +1 -0
  66. package/{script → common/archive/commons/script}/config-command/start-ssr.d.ts +1 -2
  67. package/common/archive/commons/script/config-command/start-ssr.d.ts.map +1 -0
  68. package/{script → common/archive/commons/script}/config-command/start-ssr.js +4 -6
  69. package/common/archive/commons/script/config-command/start-ssr.js.map +1 -0
  70. package/{script → common/archive/commons/script}/config-command/synth.d.ts +1 -2
  71. package/common/archive/commons/script/config-command/synth.d.ts.map +1 -0
  72. package/{script → common/archive/commons/script}/config-command/synth.js +2 -2
  73. package/common/archive/commons/script/config-command/synth.js.map +1 -0
  74. package/common/archive/commons/script/index.d.ts +7 -0
  75. package/common/archive/commons/script/index.d.ts.map +1 -0
  76. package/common/archive/commons/script/index.js.map +1 -0
  77. package/common/archive/commons/script/output-command/create-user.d.ts +3 -0
  78. package/common/archive/commons/script/output-command/create-user.d.ts.map +1 -0
  79. package/common/archive/commons/script/output-command/create-user.js.map +1 -0
  80. package/common/archive/commons/script/output-command/gen-postman-env.d.ts +3 -0
  81. package/common/archive/commons/script/output-command/gen-postman-env.d.ts.map +1 -0
  82. package/{script → common/archive/commons/script}/output-command/gen-postman-env.js +1 -2
  83. package/common/archive/commons/script/output-command/gen-postman-env.js.map +1 -0
  84. package/common/{synth → archive/commons/synth}/account-mapping.d.ts +1 -1
  85. package/common/archive/commons/synth/account-mapping.d.ts.map +1 -0
  86. package/common/archive/commons/synth/account-mapping.js.map +1 -0
  87. package/common/archive/commons/synth/assume-role.d.ts +2 -0
  88. package/common/archive/commons/synth/assume-role.d.ts.map +1 -0
  89. package/common/archive/commons/synth/assume-role.js +37 -0
  90. package/common/archive/commons/synth/assume-role.js.map +1 -0
  91. package/common/archive/commons/synth/get-global-props.d.ts +2 -0
  92. package/common/archive/commons/synth/get-global-props.d.ts.map +1 -0
  93. package/common/archive/commons/synth/get-global-props.js +42 -0
  94. package/common/archive/commons/synth/get-global-props.js.map +1 -0
  95. package/common/archive/commons/synth/get-service-props.d.ts +2 -0
  96. package/common/archive/commons/synth/get-service-props.d.ts.map +1 -0
  97. package/common/archive/commons/synth/get-service-props.js +18 -0
  98. package/common/archive/commons/synth/get-service-props.js.map +1 -0
  99. package/common/{synth → archive/commons/synth}/index.d.ts +3 -2
  100. package/common/archive/commons/synth/index.d.ts.map +1 -0
  101. package/common/{synth → archive/commons/synth}/index.js +2 -1
  102. package/common/archive/commons/synth/index.js.map +1 -0
  103. package/common/archive/commons/synth/pre-script.d.ts +15 -0
  104. package/common/archive/commons/synth/pre-script.d.ts.map +1 -0
  105. package/common/{synth → archive/commons/synth}/pre-script.js +4 -2
  106. package/common/archive/commons/synth/pre-script.js.map +1 -0
  107. package/common/archive/commons/synth/props-types.d.ts +2 -0
  108. package/common/archive/commons/synth/props-types.d.ts.map +1 -0
  109. package/common/archive/commons/synth/props-types.js +56 -0
  110. package/common/archive/commons/synth/props-types.js.map +1 -0
  111. package/common/archive/commons/synth/synth-error.d.ts +2 -0
  112. package/common/archive/commons/synth/synth-error.d.ts.map +1 -0
  113. package/common/archive/commons/synth/synth-error.js +15 -0
  114. package/common/archive/commons/synth/synth-error.js.map +1 -0
  115. package/{prefab/analytics/events → common/archive/prefabs/analytics/events-analytics}/handlers/ingestion-transform/handler.d.ts +1 -2
  116. package/common/archive/prefabs/analytics/events-analytics/handlers/ingestion-transform/handler.d.ts.map +1 -0
  117. package/common/archive/prefabs/analytics/events-analytics/handlers/ingestion-transform/handler.js.map +1 -0
  118. package/common/archive/prefabs/analytics/events-analytics/index.d.ts +2 -0
  119. package/common/archive/prefabs/analytics/events-analytics/index.d.ts.map +1 -0
  120. package/common/archive/prefabs/analytics/events-analytics/index.js +180 -0
  121. package/common/archive/prefabs/analytics/events-analytics/index.js.map +1 -0
  122. package/common/archive/prefabs/analytics/index.d.ts +2 -0
  123. package/common/archive/prefabs/analytics/index.d.ts.map +1 -0
  124. package/common/archive/prefabs/analytics/index.js +4 -0
  125. package/common/archive/prefabs/analytics/index.js.map +1 -0
  126. package/common/archive/prefabs/app-sync/index.d.ts +2 -0
  127. package/common/archive/prefabs/app-sync/index.d.ts.map +1 -0
  128. package/common/archive/prefabs/app-sync/index.js +104 -0
  129. package/common/archive/prefabs/app-sync/index.js.map +1 -0
  130. package/common/archive/prefabs/app-sync/resolver-aggregate.d.ts +2 -0
  131. package/common/archive/prefabs/app-sync/resolver-aggregate.d.ts.map +1 -0
  132. package/common/archive/prefabs/app-sync/resolver-aggregate.js +128 -0
  133. package/common/archive/prefabs/app-sync/resolver-aggregate.js.map +1 -0
  134. package/common/archive/prefabs/app-sync/types.d.ts +2 -0
  135. package/common/archive/prefabs/app-sync/types.d.ts.map +1 -0
  136. package/common/archive/prefabs/app-sync/types.js +28 -0
  137. package/common/archive/prefabs/app-sync/types.js.map +1 -0
  138. package/common/archive/prefabs/dns-domain-ref/index.d.ts +2 -0
  139. package/common/archive/prefabs/dns-domain-ref/index.d.ts.map +1 -0
  140. package/common/archive/prefabs/dns-domain-ref/index.js +26 -0
  141. package/common/archive/prefabs/dns-domain-ref/index.js.map +1 -0
  142. package/common/helpers/deep-merge.d.ts +4 -0
  143. package/common/helpers/deep-merge.d.ts.map +1 -0
  144. package/common/helpers/deep-merge.js +58 -0
  145. package/common/helpers/deep-merge.js.map +1 -0
  146. package/common/helpers/index.d.ts +4 -0
  147. package/common/helpers/index.d.ts.map +1 -0
  148. package/{prefab/compute/function/api-function → common/helpers}/index.js +3 -2
  149. package/common/helpers/index.js.map +1 -0
  150. package/common/helpers/string-parser.d.ts +7 -0
  151. package/common/helpers/string-parser.d.ts.map +1 -0
  152. package/common/helpers/string-parser.js +52 -0
  153. package/common/helpers/string-parser.js.map +1 -0
  154. package/common/helpers/types.d.ts +7 -0
  155. package/common/helpers/types.d.ts.map +1 -0
  156. package/common/helpers/types.js.map +1 -0
  157. package/common/index.d.ts +4 -6
  158. package/common/index.d.ts.map +1 -1
  159. package/common/index.js +3 -5
  160. package/common/index.js.map +1 -1
  161. package/common/main/index.d.ts +5 -0
  162. package/common/main/index.d.ts.map +1 -0
  163. package/{prefab/compute/function/cognito-function → common/main}/index.js +4 -2
  164. package/common/main/index.js.map +1 -0
  165. package/common/{modifier.d.ts → main/mods.d.ts} +1 -2
  166. package/common/main/mods.d.ts.map +1 -0
  167. package/common/{modifier.js → main/mods.js} +1 -1
  168. package/common/{modifier.js.map → main/mods.js.map} +1 -1
  169. package/common/main/prefab.d.ts +21 -0
  170. package/common/main/prefab.d.ts.map +1 -0
  171. package/common/main/prefab.js +29 -0
  172. package/common/main/prefab.js.map +1 -0
  173. package/common/main/takumi-app.d.ts +18 -0
  174. package/common/main/takumi-app.d.ts.map +1 -0
  175. package/common/{coordinator.js → main/takumi-app.js} +31 -31
  176. package/common/main/takumi-app.js.map +1 -0
  177. package/common/main/takumi-stack.d.ts +14 -0
  178. package/common/main/takumi-stack.d.ts.map +1 -0
  179. package/common/main/takumi-stack.js +30 -0
  180. package/common/main/takumi-stack.js.map +1 -0
  181. package/common/props/default-config.d.ts +3 -0
  182. package/common/props/default-config.d.ts.map +1 -0
  183. package/common/props/default-config.js +21 -0
  184. package/common/props/default-config.js.map +1 -0
  185. package/common/props/global-config.d.ts +40 -0
  186. package/common/props/global-config.d.ts.map +1 -0
  187. package/common/{synth/props-types.js → props/global-config.js} +1 -1
  188. package/common/props/global-config.js.map +1 -0
  189. package/common/props/global-props.d.ts +12 -0
  190. package/common/props/global-props.d.ts.map +1 -0
  191. package/common/props/global-props.js +41 -0
  192. package/common/props/global-props.js.map +1 -0
  193. package/common/props/index.d.ts +6 -0
  194. package/common/props/index.d.ts.map +1 -0
  195. package/common/props/index.js +22 -0
  196. package/common/props/index.js.map +1 -0
  197. package/common/props/naming.d.ts +38 -0
  198. package/common/props/naming.d.ts.map +1 -0
  199. package/common/props/naming.js +88 -0
  200. package/common/props/naming.js.map +1 -0
  201. package/common/props/prefab-props.d.ts +14 -0
  202. package/common/props/prefab-props.d.ts.map +1 -0
  203. package/common/props/prefab-props.js +37 -0
  204. package/common/props/prefab-props.js.map +1 -0
  205. package/common/props/stack-props.d.ts +9 -0
  206. package/common/props/stack-props.d.ts.map +1 -0
  207. package/common/props/stack-props.js +16 -0
  208. package/common/props/stack-props.js.map +1 -0
  209. package/index.d.ts +1 -2
  210. package/index.d.ts.map +1 -1
  211. package/index.js +1 -1
  212. package/index.js.map +1 -1
  213. package/package.json +3 -6
  214. package/prefab/auth/cognito-user-pool/index.d.ts +43 -0
  215. package/prefab/auth/cognito-user-pool/index.d.ts.map +1 -0
  216. package/prefab/auth/{cognito-pool → cognito-user-pool}/index.js +94 -102
  217. package/prefab/auth/cognito-user-pool/index.js.map +1 -0
  218. package/prefab/auth/index.d.ts +2 -2
  219. package/prefab/auth/index.d.ts.map +1 -1
  220. package/prefab/auth/index.js +1 -1
  221. package/prefab/auth/index.js.map +1 -1
  222. package/prefab/cdn/api/index.d.ts +54 -0
  223. package/prefab/cdn/api/index.d.ts.map +1 -0
  224. package/prefab/cdn/{cdn-api → api}/index.js +75 -49
  225. package/prefab/cdn/api/index.js.map +1 -0
  226. package/prefab/cdn/assets/index.d.ts +26 -0
  227. package/prefab/cdn/assets/index.d.ts.map +1 -0
  228. package/prefab/cdn/assets/index.js +110 -0
  229. package/prefab/cdn/assets/index.js.map +1 -0
  230. package/prefab/cdn/index.d.ts +4 -5
  231. package/prefab/cdn/index.d.ts.map +1 -1
  232. package/prefab/cdn/index.js +3 -4
  233. package/prefab/cdn/index.js.map +1 -1
  234. package/prefab/cdn/web/index.d.ts +31 -0
  235. package/prefab/cdn/web/index.d.ts.map +1 -0
  236. package/prefab/cdn/web/index.js +149 -0
  237. package/prefab/cdn/web/index.js.map +1 -0
  238. package/prefab/compute/ecs/cluster.d.ts +19 -0
  239. package/prefab/compute/ecs/cluster.d.ts.map +1 -0
  240. package/prefab/compute/ecs/cluster.js +21 -0
  241. package/prefab/compute/ecs/cluster.js.map +1 -0
  242. package/prefab/compute/{fargate → ecs}/index.d.ts +1 -1
  243. package/prefab/compute/ecs/index.d.ts.map +1 -0
  244. package/prefab/compute/ecs/index.js.map +1 -0
  245. package/prefab/compute/ecs/service.d.ts +44 -0
  246. package/prefab/compute/ecs/service.d.ts.map +1 -0
  247. package/prefab/compute/ecs/service.js +98 -0
  248. package/prefab/compute/ecs/service.js.map +1 -0
  249. package/prefab/compute/function/api/index.d.ts +21 -0
  250. package/prefab/compute/function/api/index.d.ts.map +1 -0
  251. package/prefab/compute/function/api/index.js +40 -0
  252. package/prefab/compute/function/api/index.js.map +1 -0
  253. package/prefab/compute/function/base/index.d.ts +34 -0
  254. package/prefab/compute/function/base/index.d.ts.map +1 -0
  255. package/prefab/compute/function/base/index.js +76 -0
  256. package/prefab/compute/function/base/index.js.map +1 -0
  257. package/prefab/compute/function/cognito/index.d.ts +20 -0
  258. package/prefab/compute/function/cognito/index.d.ts.map +1 -0
  259. package/prefab/compute/function/cognito/index.js +35 -0
  260. package/prefab/compute/function/cognito/index.js.map +1 -0
  261. package/prefab/compute/function/cron/index.d.ts +20 -0
  262. package/prefab/compute/function/cron/index.d.ts.map +1 -0
  263. package/prefab/compute/function/cron/index.js +30 -0
  264. package/prefab/compute/function/cron/index.js.map +1 -0
  265. package/prefab/compute/function/event/index.d.ts +20 -0
  266. package/prefab/compute/function/event/index.d.ts.map +1 -0
  267. package/prefab/compute/function/event/index.js +38 -0
  268. package/prefab/compute/function/event/index.js.map +1 -0
  269. package/prefab/compute/function/index.d.ts +9 -8
  270. package/prefab/compute/function/index.d.ts.map +1 -1
  271. package/prefab/compute/function/index.js +8 -7
  272. package/prefab/compute/function/index.js.map +1 -1
  273. package/prefab/compute/function/queue/index.d.ts +19 -0
  274. package/prefab/compute/function/queue/index.d.ts.map +1 -0
  275. package/prefab/compute/function/queue/index.js +32 -0
  276. package/prefab/compute/function/queue/index.js.map +1 -0
  277. package/prefab/compute/function/scheduled/index.d.ts +21 -0
  278. package/prefab/compute/function/scheduled/index.d.ts.map +1 -0
  279. package/prefab/compute/function/scheduled/index.js +56 -0
  280. package/prefab/compute/function/scheduled/index.js.map +1 -0
  281. package/prefab/compute/function/topic/index.d.ts +20 -0
  282. package/prefab/compute/function/topic/index.d.ts.map +1 -0
  283. package/prefab/compute/function/topic/index.js +30 -0
  284. package/prefab/compute/function/topic/index.js.map +1 -0
  285. package/prefab/compute/index.d.ts +1 -2
  286. package/prefab/compute/index.d.ts.map +1 -1
  287. package/prefab/compute/index.js +1 -1
  288. package/prefab/compute/index.js.map +1 -1
  289. package/prefab/database/dynamo/index.d.ts +18 -10
  290. package/prefab/database/dynamo/index.d.ts.map +1 -1
  291. package/prefab/database/dynamo/index.js +41 -89
  292. package/prefab/database/dynamo/index.js.map +1 -1
  293. package/prefab/database/index.d.ts +1 -1
  294. package/prefab/database/rds/handlers/start-cluster/handler.d.ts +1 -1
  295. package/prefab/database/rds/handlers/stop-cluster/handler.d.ts +1 -1
  296. package/prefab/database/rds/index.d.ts +74 -46
  297. package/prefab/database/rds/index.d.ts.map +1 -1
  298. package/prefab/database/rds/index.js +207 -160
  299. package/prefab/database/rds/index.js.map +1 -1
  300. package/prefab/database/timestream/index.d.ts +1 -1
  301. package/prefab/database/timestream/timestream-database.d.ts +14 -11
  302. package/prefab/database/timestream/timestream-database.d.ts.map +1 -1
  303. package/prefab/database/timestream/timestream-database.js +9 -7
  304. package/prefab/database/timestream/timestream-database.js.map +1 -1
  305. package/prefab/database/timestream/timestream-table.d.ts +21 -21
  306. package/prefab/database/timestream/timestream-table.d.ts.map +1 -1
  307. package/prefab/database/timestream/timestream-table.js +22 -22
  308. package/prefab/database/timestream/timestream-table.js.map +1 -1
  309. package/prefab/gateway/alb-public/index.d.ts +36 -37
  310. package/prefab/gateway/alb-public/index.d.ts.map +1 -1
  311. package/prefab/gateway/alb-public/index.js +55 -48
  312. package/prefab/gateway/alb-public/index.js.map +1 -1
  313. package/prefab/gateway/api-gateway/api-http.d.ts +29 -18
  314. package/prefab/gateway/api-gateway/api-http.d.ts.map +1 -1
  315. package/prefab/gateway/api-gateway/api-http.js +76 -29
  316. package/prefab/gateway/api-gateway/api-http.js.map +1 -1
  317. package/prefab/gateway/api-gateway/api-rest.d.ts +41 -22
  318. package/prefab/gateway/api-gateway/api-rest.d.ts.map +1 -1
  319. package/prefab/gateway/api-gateway/api-rest.js +63 -40
  320. package/prefab/gateway/api-gateway/api-rest.js.map +1 -1
  321. package/prefab/gateway/api-gateway/index.d.ts +1 -1
  322. package/prefab/gateway/index.d.ts +1 -2
  323. package/prefab/gateway/index.d.ts.map +1 -1
  324. package/prefab/gateway/index.js +1 -1
  325. package/prefab/gateway/index.js.map +1 -1
  326. package/prefab/index.d.ts +2 -2
  327. package/prefab/index.d.ts.map +1 -1
  328. package/prefab/index.js +1 -1
  329. package/prefab/index.js.map +1 -1
  330. package/prefab/integration/event-bus/index.d.ts +21 -17
  331. package/prefab/integration/event-bus/index.d.ts.map +1 -1
  332. package/prefab/integration/event-bus/index.js +36 -29
  333. package/prefab/integration/event-bus/index.js.map +1 -1
  334. package/prefab/integration/index.d.ts +1 -1
  335. package/prefab/integration/queue/index.d.ts +26 -18
  336. package/prefab/integration/queue/index.d.ts.map +1 -1
  337. package/prefab/integration/queue/index.js +50 -47
  338. package/prefab/integration/queue/index.js.map +1 -1
  339. package/prefab/integration/topic/index.d.ts +23 -18
  340. package/prefab/integration/topic/index.d.ts.map +1 -1
  341. package/prefab/integration/topic/index.js +23 -29
  342. package/prefab/integration/topic/index.js.map +1 -1
  343. package/prefab/networking/certificate/index.d.ts +19 -0
  344. package/prefab/networking/certificate/index.d.ts.map +1 -0
  345. package/prefab/networking/certificate/index.js +39 -0
  346. package/prefab/networking/certificate/index.js.map +1 -0
  347. package/prefab/networking/hosted-zone/index.d.ts +21 -0
  348. package/prefab/networking/hosted-zone/index.d.ts.map +1 -0
  349. package/prefab/networking/hosted-zone/index.js +38 -0
  350. package/prefab/networking/hosted-zone/index.js.map +1 -0
  351. package/prefab/networking/index.d.ts +3 -4
  352. package/prefab/networking/index.d.ts.map +1 -1
  353. package/prefab/networking/index.js +2 -3
  354. package/prefab/networking/index.js.map +1 -1
  355. package/prefab/networking/vpc/index.d.ts +13 -16
  356. package/prefab/networking/vpc/index.d.ts.map +1 -1
  357. package/prefab/networking/vpc/index.js +10 -18
  358. package/prefab/networking/vpc/index.js.map +1 -1
  359. package/prefab/networking/waf/index.d.ts +15 -12
  360. package/prefab/networking/waf/index.d.ts.map +1 -1
  361. package/prefab/networking/waf/index.js +11 -11
  362. package/prefab/networking/waf/index.js.map +1 -1
  363. package/prefab/secrets/index.d.ts +3 -0
  364. package/prefab/secrets/index.d.ts.map +1 -0
  365. package/prefab/{analytics → secrets}/index.js +2 -1
  366. package/prefab/secrets/index.js.map +1 -0
  367. package/prefab/secrets/sm-secret/index.d.ts +22 -0
  368. package/prefab/secrets/sm-secret/index.d.ts.map +1 -0
  369. package/prefab/secrets/sm-secret/index.js +39 -0
  370. package/prefab/secrets/sm-secret/index.js.map +1 -0
  371. package/prefab/secrets/ssm-parameter/index.d.ts +23 -0
  372. package/prefab/secrets/ssm-parameter/index.d.ts.map +1 -0
  373. package/prefab/secrets/ssm-parameter/index.js +43 -0
  374. package/prefab/secrets/ssm-parameter/index.js.map +1 -0
  375. package/prefab/storage/bucket/index.d.ts +42 -3
  376. package/prefab/storage/bucket/index.d.ts.map +1 -1
  377. package/prefab/storage/bucket/index.js +61 -16
  378. package/prefab/storage/bucket/index.js.map +1 -1
  379. package/prefab/storage/index.d.ts +1 -1
  380. package/prefab/utils/deploy-pipeline/catalog/integrations/index.d.ts +1 -1
  381. package/prefab/utils/deploy-pipeline/catalog/integrations/slack.d.ts +4 -4
  382. package/prefab/utils/deploy-pipeline/catalog/integrations/slack.d.ts.map +1 -1
  383. package/prefab/utils/deploy-pipeline/entities/index.d.ts +23 -23
  384. package/prefab/utils/deploy-pipeline/index.d.ts +2 -15
  385. package/prefab/utils/deploy-pipeline/index.d.ts.map +1 -1
  386. package/prefab/utils/deploy-pipeline/index.js +159 -169
  387. package/prefab/utils/deploy-pipeline/index.js.map +1 -1
  388. package/prefab/utils/deploy-pipeline/platform/get-pipeline-detail.d.ts +3 -3
  389. package/prefab/utils/deploy-pipeline/platform/get-slack-payload.d.ts +1 -2
  390. package/prefab/utils/deploy-pipeline/platform/get-slack-payload.d.ts.map +1 -1
  391. package/prefab/utils/deploy-pipeline/platform/get-slack-payload.js.map +1 -1
  392. package/prefab/utils/deploy-pipeline/platform/send-to-slack.d.ts.map +1 -1
  393. package/prefab/utils/deploy-pipeline/platform/send-to-slack.js.map +1 -1
  394. package/prefab/utils/exports.d.ts +4 -0
  395. package/prefab/utils/exports.d.ts.map +1 -0
  396. package/prefab/utils/exports.js +26 -0
  397. package/prefab/utils/exports.js.map +1 -0
  398. package/prefab/utils/frontend-builder/index.d.ts +21 -0
  399. package/prefab/utils/frontend-builder/index.d.ts.map +1 -0
  400. package/prefab/utils/frontend-builder/index.js +54 -0
  401. package/prefab/utils/frontend-builder/index.js.map +1 -0
  402. package/prefab/utils/index.d.ts +3 -3
  403. package/prefab/utils/index.d.ts.map +1 -1
  404. package/prefab/utils/index.js +2 -2
  405. package/prefab/utils/index.js.map +1 -1
  406. package/prefab/utils/ses/index.d.ts +20 -21
  407. package/prefab/utils/ses/index.d.ts.map +1 -1
  408. package/prefab/utils/ses/index.js +33 -53
  409. package/prefab/utils/ses/index.js.map +1 -1
  410. package/readme.md +78 -0
  411. package/tsconfig.tsbuildinfo +1 -1
  412. package/common/coordinator.d.ts +0 -28
  413. package/common/coordinator.d.ts.map +0 -1
  414. package/common/coordinator.js.map +0 -1
  415. package/common/modifier.d.ts.map +0 -1
  416. package/common/naming/get-deploy-config.d.ts +0 -9
  417. package/common/naming/get-deploy-config.d.ts.map +0 -1
  418. package/common/naming/get-deploy-config.js +0 -8
  419. package/common/naming/get-deploy-config.js.map +0 -1
  420. package/common/naming/get-domain.d.ts +0 -9
  421. package/common/naming/get-domain.d.ts.map +0 -1
  422. package/common/naming/get-domain.js +0 -13
  423. package/common/naming/get-domain.js.map +0 -1
  424. package/common/naming/get-function-entry.d.ts +0 -4
  425. package/common/naming/get-function-entry.d.ts.map +0 -1
  426. package/common/naming/get-function-entry.js +0 -14
  427. package/common/naming/get-function-entry.js.map +0 -1
  428. package/common/naming/get-logical-name.d.ts +0 -2
  429. package/common/naming/get-logical-name.d.ts.map +0 -1
  430. package/common/naming/get-logical-name.js +0 -8
  431. package/common/naming/get-logical-name.js.map +0 -1
  432. package/common/naming/get-resource-name.d.ts +0 -47
  433. package/common/naming/get-resource-name.d.ts.map +0 -1
  434. package/common/naming/get-resource-name.js +0 -38
  435. package/common/naming/get-resource-name.js.map +0 -1
  436. package/common/naming/get-service-name.d.ts +0 -10
  437. package/common/naming/get-service-name.d.ts.map +0 -1
  438. package/common/naming/get-service-name.js +0 -10
  439. package/common/naming/get-service-name.js.map +0 -1
  440. package/common/naming/index.d.ts +0 -8
  441. package/common/naming/index.d.ts.map +0 -1
  442. package/common/naming/index.js.map +0 -1
  443. package/common/naming/string-parser.d.ts +0 -4
  444. package/common/naming/string-parser.d.ts.map +0 -1
  445. package/common/naming/string-parser.js +0 -22
  446. package/common/naming/string-parser.js.map +0 -1
  447. package/common/service.d.ts +0 -29
  448. package/common/service.d.ts.map +0 -1
  449. package/common/service.js +0 -28
  450. package/common/service.js.map +0 -1
  451. package/common/synth/account-mapping.d.ts.map +0 -1
  452. package/common/synth/account-mapping.js.map +0 -1
  453. package/common/synth/assume-role.d.ts +0 -18
  454. package/common/synth/assume-role.d.ts.map +0 -1
  455. package/common/synth/assume-role.js +0 -25
  456. package/common/synth/assume-role.js.map +0 -1
  457. package/common/synth/get-global-props.d.ts +0 -16
  458. package/common/synth/get-global-props.d.ts.map +0 -1
  459. package/common/synth/get-global-props.js +0 -34
  460. package/common/synth/get-global-props.js.map +0 -1
  461. package/common/synth/get-service-props.d.ts +0 -11
  462. package/common/synth/get-service-props.d.ts.map +0 -1
  463. package/common/synth/get-service-props.js +0 -12
  464. package/common/synth/get-service-props.js.map +0 -1
  465. package/common/synth/index.d.ts.map +0 -1
  466. package/common/synth/index.js.map +0 -1
  467. package/common/synth/pre-script.d.ts +0 -32
  468. package/common/synth/pre-script.d.ts.map +0 -1
  469. package/common/synth/pre-script.js.map +0 -1
  470. package/common/synth/props-types.d.ts +0 -60
  471. package/common/synth/props-types.d.ts.map +0 -1
  472. package/common/synth/props-types.js.map +0 -1
  473. package/common/synth/synth-error.d.ts +0 -8
  474. package/common/synth/synth-error.d.ts.map +0 -1
  475. package/common/synth/synth-error.js +0 -17
  476. package/common/synth/synth-error.js.map +0 -1
  477. package/prefab/analytics/events/handlers/ingestion-transform/handler.d.ts.map +0 -1
  478. package/prefab/analytics/events/handlers/ingestion-transform/handler.js.map +0 -1
  479. package/prefab/analytics/events/index.d.ts +0 -31
  480. package/prefab/analytics/events/index.d.ts.map +0 -1
  481. package/prefab/analytics/events/index.js +0 -163
  482. package/prefab/analytics/events/index.js.map +0 -1
  483. package/prefab/analytics/index.d.ts +0 -2
  484. package/prefab/analytics/index.d.ts.map +0 -1
  485. package/prefab/analytics/index.js.map +0 -1
  486. package/prefab/auth/cognito-pool/index.d.ts +0 -65
  487. package/prefab/auth/cognito-pool/index.d.ts.map +0 -1
  488. package/prefab/auth/cognito-pool/index.js.map +0 -1
  489. package/prefab/cdn/cdn-api/index.d.ts +0 -38
  490. package/prefab/cdn/cdn-api/index.d.ts.map +0 -1
  491. package/prefab/cdn/cdn-api/index.js.map +0 -1
  492. package/prefab/cdn/cdn-asset/index.d.ts +0 -27
  493. package/prefab/cdn/cdn-asset/index.d.ts.map +0 -1
  494. package/prefab/cdn/cdn-asset/index.js +0 -96
  495. package/prefab/cdn/cdn-asset/index.js.map +0 -1
  496. package/prefab/cdn/cdn-spa/index.d.ts +0 -27
  497. package/prefab/cdn/cdn-spa/index.d.ts.map +0 -1
  498. package/prefab/cdn/cdn-spa/index.js +0 -138
  499. package/prefab/cdn/cdn-spa/index.js.map +0 -1
  500. package/prefab/cdn/cdn-ssr/index.d.ts +0 -36
  501. package/prefab/cdn/cdn-ssr/index.d.ts.map +0 -1
  502. package/prefab/cdn/cdn-ssr/index.js +0 -271
  503. package/prefab/cdn/cdn-ssr/index.js.map +0 -1
  504. package/prefab/compute/fargate/cluster.d.ts +0 -16
  505. package/prefab/compute/fargate/cluster.d.ts.map +0 -1
  506. package/prefab/compute/fargate/cluster.js +0 -42
  507. package/prefab/compute/fargate/cluster.js.map +0 -1
  508. package/prefab/compute/fargate/index.d.ts.map +0 -1
  509. package/prefab/compute/fargate/index.js.map +0 -1
  510. package/prefab/compute/fargate/service.d.ts +0 -49
  511. package/prefab/compute/fargate/service.d.ts.map +0 -1
  512. package/prefab/compute/fargate/service.js +0 -109
  513. package/prefab/compute/fargate/service.js.map +0 -1
  514. package/prefab/compute/function/api-function/api-aggregate.d.ts +0 -32
  515. package/prefab/compute/function/api-function/api-aggregate.d.ts.map +0 -1
  516. package/prefab/compute/function/api-function/api-aggregate.js +0 -54
  517. package/prefab/compute/function/api-function/api-aggregate.js.map +0 -1
  518. package/prefab/compute/function/api-function/api-function.d.ts +0 -22
  519. package/prefab/compute/function/api-function/api-function.d.ts.map +0 -1
  520. package/prefab/compute/function/api-function/api-function.js +0 -45
  521. package/prefab/compute/function/api-function/api-function.js.map +0 -1
  522. package/prefab/compute/function/api-function/index.d.ts +0 -3
  523. package/prefab/compute/function/api-function/index.d.ts.map +0 -1
  524. package/prefab/compute/function/api-function/index.js.map +0 -1
  525. package/prefab/compute/function/base-function/index.d.ts +0 -33
  526. package/prefab/compute/function/base-function/index.d.ts.map +0 -1
  527. package/prefab/compute/function/base-function/index.js +0 -70
  528. package/prefab/compute/function/base-function/index.js.map +0 -1
  529. package/prefab/compute/function/cognito-function/cognito-aggregate.d.ts +0 -18
  530. package/prefab/compute/function/cognito-function/cognito-aggregate.d.ts.map +0 -1
  531. package/prefab/compute/function/cognito-function/cognito-aggregate.js +0 -22
  532. package/prefab/compute/function/cognito-function/cognito-aggregate.js.map +0 -1
  533. package/prefab/compute/function/cognito-function/cognito-function.d.ts +0 -19
  534. package/prefab/compute/function/cognito-function/cognito-function.d.ts.map +0 -1
  535. package/prefab/compute/function/cognito-function/cognito-function.js +0 -24
  536. package/prefab/compute/function/cognito-function/cognito-function.js.map +0 -1
  537. package/prefab/compute/function/cognito-function/index.d.ts +0 -3
  538. package/prefab/compute/function/cognito-function/index.d.ts.map +0 -1
  539. package/prefab/compute/function/cognito-function/index.js.map +0 -1
  540. package/prefab/compute/function/cron-function/cron-aggregate.d.ts +0 -17
  541. package/prefab/compute/function/cron-function/cron-aggregate.d.ts.map +0 -1
  542. package/prefab/compute/function/cron-function/cron-aggregate.js +0 -22
  543. package/prefab/compute/function/cron-function/cron-aggregate.js.map +0 -1
  544. package/prefab/compute/function/cron-function/cron-function.d.ts +0 -17
  545. package/prefab/compute/function/cron-function/cron-function.d.ts.map +0 -1
  546. package/prefab/compute/function/cron-function/cron-function.js +0 -24
  547. package/prefab/compute/function/cron-function/cron-function.js.map +0 -1
  548. package/prefab/compute/function/cron-function/index.d.ts +0 -3
  549. package/prefab/compute/function/cron-function/index.d.ts.map +0 -1
  550. package/prefab/compute/function/cron-function/index.js +0 -19
  551. package/prefab/compute/function/cron-function/index.js.map +0 -1
  552. package/prefab/compute/function/event-function/event-aggregate.d.ts +0 -20
  553. package/prefab/compute/function/event-function/event-aggregate.d.ts.map +0 -1
  554. package/prefab/compute/function/event-function/event-aggregate.js +0 -25
  555. package/prefab/compute/function/event-function/event-aggregate.js.map +0 -1
  556. package/prefab/compute/function/event-function/event-function.d.ts +0 -14
  557. package/prefab/compute/function/event-function/event-function.d.ts.map +0 -1
  558. package/prefab/compute/function/event-function/event-function.js +0 -33
  559. package/prefab/compute/function/event-function/event-function.js.map +0 -1
  560. package/prefab/compute/function/event-function/index.d.ts +0 -3
  561. package/prefab/compute/function/event-function/index.d.ts.map +0 -1
  562. package/prefab/compute/function/event-function/index.js +0 -19
  563. package/prefab/compute/function/event-function/index.js.map +0 -1
  564. package/prefab/compute/function/queue-function/index.d.ts +0 -25
  565. package/prefab/compute/function/queue-function/index.d.ts.map +0 -1
  566. package/prefab/compute/function/queue-function/index.js +0 -46
  567. package/prefab/compute/function/queue-function/index.js.map +0 -1
  568. package/prefab/compute/function/topic-function/index.d.ts +0 -23
  569. package/prefab/compute/function/topic-function/index.d.ts.map +0 -1
  570. package/prefab/compute/function/topic-function/index.js +0 -23
  571. package/prefab/compute/function/topic-function/index.js.map +0 -1
  572. package/prefab/gateway/app-sync/index.d.ts +0 -36
  573. package/prefab/gateway/app-sync/index.d.ts.map +0 -1
  574. package/prefab/gateway/app-sync/index.js +0 -114
  575. package/prefab/gateway/app-sync/index.js.map +0 -1
  576. package/prefab/gateway/app-sync/resolver-aggregate.d.ts +0 -33
  577. package/prefab/gateway/app-sync/resolver-aggregate.d.ts.map +0 -1
  578. package/prefab/gateway/app-sync/resolver-aggregate.js +0 -125
  579. package/prefab/gateway/app-sync/resolver-aggregate.js.map +0 -1
  580. package/prefab/gateway/app-sync/types.d.ts +0 -29
  581. package/prefab/gateway/app-sync/types.d.ts.map +0 -1
  582. package/prefab/gateway/app-sync/types.js.map +0 -1
  583. package/prefab/networking/dns-domain-ref/index.d.ts +0 -16
  584. package/prefab/networking/dns-domain-ref/index.d.ts.map +0 -1
  585. package/prefab/networking/dns-domain-ref/index.js +0 -28
  586. package/prefab/networking/dns-domain-ref/index.js.map +0 -1
  587. package/prefab/networking/dns-subdomain-certificate/index.d.ts +0 -13
  588. package/prefab/networking/dns-subdomain-certificate/index.d.ts.map +0 -1
  589. package/prefab/networking/dns-subdomain-certificate/index.js +0 -28
  590. package/prefab/networking/dns-subdomain-certificate/index.js.map +0 -1
  591. package/prefab/networking/dns-subdomain-hosted-zone/index.d.ts +0 -12
  592. package/prefab/networking/dns-subdomain-hosted-zone/index.d.ts.map +0 -1
  593. package/prefab/networking/dns-subdomain-hosted-zone/index.js +0 -27
  594. package/prefab/networking/dns-subdomain-hosted-zone/index.js.map +0 -1
  595. package/prefab/storage/bucket/asset-bucket.d.ts +0 -12
  596. package/prefab/storage/bucket/asset-bucket.d.ts.map +0 -1
  597. package/prefab/storage/bucket/asset-bucket.js +0 -19
  598. package/prefab/storage/bucket/asset-bucket.js.map +0 -1
  599. package/prefab/storage/bucket/private-bucket.d.ts +0 -26
  600. package/prefab/storage/bucket/private-bucket.d.ts.map +0 -1
  601. package/prefab/storage/bucket/private-bucket.js +0 -82
  602. package/prefab/storage/bucket/private-bucket.js.map +0 -1
  603. package/prefab/utils/config/frontend-env-builder.d.ts +0 -14
  604. package/prefab/utils/config/frontend-env-builder.d.ts.map +0 -1
  605. package/prefab/utils/config/frontend-env-builder.js +0 -25
  606. package/prefab/utils/config/frontend-env-builder.js.map +0 -1
  607. package/prefab/utils/config/index.d.ts +0 -4
  608. package/prefab/utils/config/index.d.ts.map +0 -1
  609. package/prefab/utils/config/index.js +0 -20
  610. package/prefab/utils/config/index.js.map +0 -1
  611. package/prefab/utils/config/parameter-secret.d.ts +0 -21
  612. package/prefab/utils/config/parameter-secret.d.ts.map +0 -1
  613. package/prefab/utils/config/parameter-secret.js +0 -42
  614. package/prefab/utils/config/parameter-secret.js.map +0 -1
  615. package/prefab/utils/config/runtime-secret.d.ts +0 -20
  616. package/prefab/utils/config/runtime-secret.d.ts.map +0 -1
  617. package/prefab/utils/config/runtime-secret.js +0 -37
  618. package/prefab/utils/config/runtime-secret.js.map +0 -1
  619. package/prefab/utils/duration.d.ts +0 -2
  620. package/prefab/utils/duration.d.ts.map +0 -1
  621. package/prefab/utils/duration.js +0 -6
  622. package/prefab/utils/duration.js.map +0 -1
  623. package/script/config-command/bootstrap.d.ts.map +0 -1
  624. package/script/config-command/bootstrap.js.map +0 -1
  625. package/script/config-command/deploy-spa.d.ts.map +0 -1
  626. package/script/config-command/deploy-spa.js.map +0 -1
  627. package/script/config-command/deploy.d.ts.map +0 -1
  628. package/script/config-command/deploy.js.map +0 -1
  629. package/script/config-command/destroy.d.ts.map +0 -1
  630. package/script/config-command/destroy.js.map +0 -1
  631. package/script/config-command/env-ssr.d.ts.map +0 -1
  632. package/script/config-command/env-ssr.js.map +0 -1
  633. package/script/config-command/invalidation-ssr.d.ts.map +0 -1
  634. package/script/config-command/invalidation-ssr.js.map +0 -1
  635. package/script/config-command/rds-migration.d.ts.map +0 -1
  636. package/script/config-command/rds-migration.js.map +0 -1
  637. package/script/config-command/rds-sync.d.ts.map +0 -1
  638. package/script/config-command/rds-sync.js.map +0 -1
  639. package/script/config-command/ssm-connect.d.ts.map +0 -1
  640. package/script/config-command/ssm-connect.js.map +0 -1
  641. package/script/config-command/start-spa.d.ts.map +0 -1
  642. package/script/config-command/start-spa.js.map +0 -1
  643. package/script/config-command/start-ssr.d.ts.map +0 -1
  644. package/script/config-command/start-ssr.js.map +0 -1
  645. package/script/config-command/synth.d.ts.map +0 -1
  646. package/script/config-command/synth.js.map +0 -1
  647. package/script/index.d.ts +0 -25
  648. package/script/index.d.ts.map +0 -1
  649. package/script/index.js.map +0 -1
  650. package/script/output-command/create-user.d.ts +0 -9
  651. package/script/output-command/create-user.d.ts.map +0 -1
  652. package/script/output-command/create-user.js.map +0 -1
  653. package/script/output-command/gen-postman-env.d.ts +0 -28
  654. package/script/output-command/gen-postman-env.d.ts.map +0 -1
  655. package/script/output-command/gen-postman-env.js.map +0 -1
  656. /package/{script → common/archive/commons/script}/config-command/rds-migration.js +0 -0
  657. /package/{script → common/archive/commons/script}/config-command/rds-sync.js +0 -0
  658. /package/{script → common/archive/commons/script}/config-command/ssm-connect.js +0 -0
  659. /package/{script → common/archive/commons/script}/index.js +0 -0
  660. /package/{script → common/archive/commons/script}/output-command/create-user.js +0 -0
  661. /package/common/{synth → archive/commons/synth}/account-mapping.js +0 -0
  662. /package/{prefab/analytics/events → common/archive/prefabs/analytics/events-analytics}/handlers/ingestion-transform/handler.js +0 -0
  663. /package/{prefab/gateway/app-sync → common/helpers}/types.js +0 -0
  664. /package/prefab/compute/{fargate → ecs}/index.js +0 -0
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.CdnAssetPrefab = void 0;
27
+ const awsCloudfront = __importStar(require("aws-cdk-lib/aws-cloudfront"));
28
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
29
+ const aws_cloudfront_origins_1 = require("aws-cdk-lib/aws-cloudfront-origins");
30
+ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
31
+ const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
32
+ const aws_s3_1 = require("aws-cdk-lib/aws-s3");
33
+ const common_1 = require("../../../common");
34
+ const bucket_1 = require("../../storage/bucket");
35
+ class CdnAssetPrefab extends common_1.Prefab {
36
+ domains;
37
+ privateBucketPrefab;
38
+ distribution;
39
+ constructor(service, params, propsOverride) {
40
+ super(CdnAssetPrefab.name, service, params, propsOverride);
41
+ // Bucket where the web assets will be stored and config for reading from local folder
42
+ this.privateBucketPrefab = new bucket_1.BucketPrefab(service, {
43
+ name: params.name,
44
+ assetSourceOptions: params.assetSrc,
45
+ resourceProps: {
46
+ bucket: {
47
+ cors: [{ allowedMethods: [aws_s3_1.HttpMethods.GET, aws_s3_1.HttpMethods.POST], allowedOrigins: ['*'], allowedHeaders: ['*'] }],
48
+ },
49
+ },
50
+ ...params.resourceProps?.privateBucketPrefab,
51
+ });
52
+ // Default Behavior
53
+ const defaultBehavior = {
54
+ compress: true,
55
+ origin: new aws_cloudfront_origins_1.S3Origin(this.privateBucketPrefab.bucket, {
56
+ originId: this.getResourceName('default-origin'),
57
+ }),
58
+ originRequestPolicy: new awsCloudfront.OriginRequestPolicy(this, this.getId('requestPolicy'), {
59
+ originRequestPolicyName: this.getResourceName('request-policy'),
60
+ headerBehavior: {
61
+ behavior: 'whitelist',
62
+ headers: ['Access-Control-Allow-Origin', 'Access-Control-Allow-Headers', 'Origin'],
63
+ },
64
+ }),
65
+ cachePolicy: awsCloudfront.CachePolicy.CACHING_OPTIMIZED,
66
+ cachedMethods: awsCloudfront.AllowedMethods.ALLOW_ALL,
67
+ allowedMethods: awsCloudfront.AllowedMethods.ALLOW_ALL,
68
+ viewerProtocolPolicy: awsCloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
69
+ };
70
+ // Domain Resolution
71
+ if (params.dnsOptions?.subdomain && params.dnsOptions?.customDomains) {
72
+ throw new Error('dnsOptions.subdomain cannot be used together with dnsOptions.customDomains');
73
+ }
74
+ this.domains = params.dnsOptions?.customDomains || [this.getDomainName(params.dnsOptions?.subdomain)];
75
+ // Distro
76
+ this.distribution = new awsCloudfront.Distribution(this, this.getId('distro'), {
77
+ enabled: true,
78
+ comment: this.getResourceName('distro'),
79
+ certificate: params.certificatePrefab.certificate,
80
+ domainNames: this.domains,
81
+ defaultBehavior: defaultBehavior,
82
+ ...(service.props.envName !== 'prod' ? { priceClass: awsCloudfront.PriceClass.PRICE_CLASS_100 } : {}),
83
+ webAclId: params.waf?.webACL?.attrArn,
84
+ ...params.resourceProps?.distribution,
85
+ });
86
+ if (!params.dnsOptions?.customDomains) {
87
+ this.domains.map((d) => {
88
+ if (params.dnsOptions?.hostedZonePrefab) {
89
+ new aws_route53_1.ARecord(service, this.getId(d.split('.')[0]), {
90
+ zone: params.dnsOptions.hostedZonePrefab.hostedZone,
91
+ target: aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.CloudFrontTarget(this.distribution)),
92
+ recordName: d,
93
+ });
94
+ }
95
+ });
96
+ }
97
+ new aws_cdk_lib_1.CfnOutput(this, this.getId('Domain'), {
98
+ key: this.getId('Domain', { toPascalCase: true }),
99
+ exportName: this.getResourceName('domain'),
100
+ value: this.domains[0],
101
+ });
102
+ new aws_cdk_lib_1.CfnOutput(this, this.getId('BaseUrl'), {
103
+ key: this.getId('BaseUrl', { toPascalCase: true }),
104
+ exportName: this.getResourceName('base-url'),
105
+ value: `https://${this.domains[0]}/`,
106
+ });
107
+ }
108
+ }
109
+ exports.CdnAssetPrefab = CdnAssetPrefab;
110
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/cdn/assets/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- export * from './cdn-api';
2
- export * from './cdn-asset';
3
- export * from './cdn-spa';
4
- export * from './cdn-ssr';
5
- //# sourceMappingURL=index.d.ts.map
1
+ export * from './api';
2
+ export * from './assets';
3
+ export * from './web';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../prefab/cdn/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../prefab/cdn/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC"}
@@ -14,8 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./cdn-api"), exports);
18
- __exportStar(require("./cdn-asset"), exports);
19
- __exportStar(require("./cdn-spa"), exports);
20
- __exportStar(require("./cdn-ssr"), exports);
17
+ __exportStar(require("./api"), exports);
18
+ __exportStar(require("./assets"), exports);
19
+ __exportStar(require("./web"), exports);
21
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../prefab/cdn/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,8CAA4B;AAC5B,4CAA0B;AAC1B,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../prefab/cdn/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,wCAAsB"}
@@ -0,0 +1,31 @@
1
+ import * as awsCloudfront from 'aws-cdk-lib/aws-cloudfront';
2
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
3
+ import { CertificatePrefab, HostedZonePrefab, WafPrefab } from '../../networking';
4
+ import { BucketPrefab, BucketPrefabParams } from '../../storage/bucket';
5
+ import { FrontendDeploymentConfig, FrontendBuilderPrefab } from '../../utils';
6
+ export type WebCdnPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = {
7
+ name: string;
8
+ certificatePrefab: CertificatePrefab<CustomConfigs>;
9
+ configGenerationPath?: string;
10
+ dnsOptions?: {
11
+ hostedZonePrefab?: HostedZonePrefab<CustomConfigs>;
12
+ wwwRedirectEnabled?: boolean;
13
+ subdomain?: string;
14
+ customDomains?: string[];
15
+ };
16
+ deploymentConfig?: FrontendDeploymentConfig;
17
+ waf?: WafPrefab;
18
+ resourceProps?: {
19
+ privateBucketPrefab?: Partial<BucketPrefabParams>;
20
+ distribution?: Partial<awsCloudfront.DistributionProps>;
21
+ };
22
+ };
23
+ export declare class WebCdnPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<WebCdnPrefabParams<CustomConfigs>, CustomConfigs> {
24
+ readonly url: string;
25
+ readonly domains: string[];
26
+ readonly privateBucketPrefab: BucketPrefab<CustomConfigs>;
27
+ readonly distribution: awsCloudfront.Distribution;
28
+ readonly frontendBuilderPrefab: FrontendBuilderPrefab<CustomConfigs>;
29
+ constructor(service: TakumiStack<CustomConfigs>, params: WebCdnPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
30
+ }
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/cdn/web/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,4BAA4B,CAAC;AAO5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE9E,MAAM,MAAM,kBAAkB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI;IAC5F,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACpD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE;QACX,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,CAAC;IACF,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAC5C,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,aAAa,CAAC,EAAE;QACd,mBAAmB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAClD,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;KACzD,CAAC;CACH,CAAC;AAEF,qBAAa,YAAY,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CACnG,kBAAkB,CAAC,aAAa,CAAC,EACjC,aAAa,CACd;IACC,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClC,SAAgB,mBAAmB,EAAE,YAAY,CAAC,aAAa,CAAC,CAAC;IACjE,SAAgB,YAAY,EAAE,aAAa,CAAC,YAAY,CAAC;IACzD,SAAgB,qBAAqB,EAAE,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBAG1E,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,kBAAkB,CAAC,aAAa,CAAC,EACzC,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CA8GrD"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.WebCdnPrefab = void 0;
27
+ const awsCloudfront = __importStar(require("aws-cdk-lib/aws-cloudfront"));
28
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
29
+ const aws_cloudfront_origins_1 = require("aws-cdk-lib/aws-cloudfront-origins");
30
+ const aws_route53_1 = require("aws-cdk-lib/aws-route53");
31
+ const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
32
+ const aws_s3_1 = require("aws-cdk-lib/aws-s3");
33
+ const common_1 = require("../../../common");
34
+ const bucket_1 = require("../../storage/bucket");
35
+ const utils_1 = require("../../utils");
36
+ class WebCdnPrefab extends common_1.Prefab {
37
+ url;
38
+ domains;
39
+ privateBucketPrefab;
40
+ distribution;
41
+ frontendBuilderPrefab;
42
+ constructor(service, params, propsOverride) {
43
+ super(WebCdnPrefab.name, service, params, propsOverride);
44
+ // Bucket where the web assets will be stored
45
+ this.privateBucketPrefab = new bucket_1.BucketPrefab(service, {
46
+ name: params.name,
47
+ resourceProps: {
48
+ bucket: {
49
+ autoDeleteObjects: true,
50
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.DESTROY,
51
+ cors: [
52
+ {
53
+ allowedMethods: [aws_s3_1.HttpMethods.GET, aws_s3_1.HttpMethods.HEAD],
54
+ allowedOrigins: ['*'],
55
+ allowedHeaders: ['*'],
56
+ },
57
+ ],
58
+ },
59
+ },
60
+ ...params.resourceProps?.privateBucketPrefab,
61
+ });
62
+ // Default Behavior
63
+ const defaultBehavior = {
64
+ compress: true,
65
+ origin: new aws_cloudfront_origins_1.S3Origin(this.privateBucketPrefab.bucket, {
66
+ originId: this.getResourceName('default-origin'),
67
+ }),
68
+ originRequestPolicy: new awsCloudfront.OriginRequestPolicy(this, this.getId('RequestPolicy'), {
69
+ originRequestPolicyName: this.getResourceName('request-policy'),
70
+ headerBehavior: {
71
+ behavior: 'whitelist',
72
+ headers: ['Access-Control-Allow-Origin', 'Access-Control-Allow-Headers', 'Origin'],
73
+ },
74
+ }),
75
+ cachePolicy: awsCloudfront.CachePolicy.CACHING_OPTIMIZED,
76
+ cachedMethods: awsCloudfront.AllowedMethods.ALLOW_GET_HEAD_OPTIONS,
77
+ allowedMethods: awsCloudfront.AllowedMethods.ALLOW_GET_HEAD_OPTIONS,
78
+ viewerProtocolPolicy: awsCloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
79
+ };
80
+ // DNS Config
81
+ if (params.dnsOptions?.subdomain && params.dnsOptions?.customDomains) {
82
+ throw new Error('dnsOptions.subdomain cannot be used together with dnsOptions.customDomains');
83
+ }
84
+ this.domains = params.dnsOptions?.customDomains || [this.getDomainName(params.dnsOptions?.subdomain)];
85
+ if (params.dnsOptions?.wwwRedirectEnabled) {
86
+ if (params.dnsOptions?.subdomain)
87
+ throw new Error('wwwRedirectEnabled is only allowed for the root domain');
88
+ if (params.dnsOptions?.customDomains)
89
+ throw new Error('wwwRedirectEnabled without explicitDomains');
90
+ this.domains.push(this.getDomainName('wwww'));
91
+ }
92
+ this.distribution = new awsCloudfront.Distribution(this, this.getId('Distro'), {
93
+ enabled: true,
94
+ comment: this.getResourceName('distro'),
95
+ certificate: params.certificatePrefab.certificate,
96
+ domainNames: this.domains,
97
+ defaultRootObject: 'index.html',
98
+ errorResponses: [
99
+ {
100
+ httpStatus: 403,
101
+ responseHttpStatus: 200,
102
+ ttl: aws_cdk_lib_1.Duration.seconds(86400),
103
+ responsePagePath: '/index.html',
104
+ },
105
+ {
106
+ httpStatus: 404,
107
+ responseHttpStatus: 200,
108
+ responsePagePath: '/index.html',
109
+ ttl: aws_cdk_lib_1.Duration.seconds(86400),
110
+ },
111
+ ],
112
+ defaultBehavior: defaultBehavior,
113
+ ...(service.props.envName !== 'prod' ? { priceClass: awsCloudfront.PriceClass.PRICE_CLASS_100 } : {}),
114
+ webAclId: params.waf?.webACL?.attrArn,
115
+ ...params.resourceProps?.distribution,
116
+ });
117
+ if (!params.dnsOptions?.customDomains) {
118
+ this.domains.map((d) => {
119
+ if (params.dnsOptions?.hostedZonePrefab) {
120
+ new aws_route53_1.ARecord(service, this.getId(d.split('.')[0]), {
121
+ zone: params.dnsOptions.hostedZonePrefab.hostedZone,
122
+ target: aws_route53_1.RecordTarget.fromAlias(new aws_route53_targets_1.CloudFrontTarget(this.distribution)),
123
+ recordName: d,
124
+ });
125
+ }
126
+ });
127
+ }
128
+ new aws_cdk_lib_1.CfnOutput(this, this.getId('Domain'), {
129
+ key: this.getId('Domain', { toPascalCase: true }),
130
+ exportName: this.getResourceName('domain'),
131
+ value: this.domains[0],
132
+ });
133
+ new aws_cdk_lib_1.CfnOutput(this, this.getId('BaseUrl'), {
134
+ key: this.getId('BaseUrl', { toPascalCase: true }),
135
+ exportName: this.getResourceName('base-url'),
136
+ value: `https://${this.domains[0]}/`,
137
+ });
138
+ this.url = `https://${this.domains[0]}/`;
139
+ this.frontendBuilderPrefab = new utils_1.FrontendBuilderPrefab(service, {
140
+ name: params.name,
141
+ deploymentConfig: params.deploymentConfig,
142
+ bucketName: this.privateBucketPrefab.bucket.bucketName,
143
+ distributionId: this.distribution.distributionId,
144
+ domain: this.domains[0],
145
+ });
146
+ }
147
+ }
148
+ exports.WebCdnPrefab = WebCdnPrefab;
149
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/cdn/web/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { ClusterProps, ICluster } from 'aws-cdk-lib/aws-ecs';
2
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
3
+ import { VpcPrefab } from '../../networking';
4
+ export type ECSClusterPrefabParams = {
5
+ name: string;
6
+ vpcPrefab: VpcPrefab;
7
+ resourceProps?: {
8
+ cluster?: Partial<ClusterProps>;
9
+ };
10
+ existingResource?: {
11
+ clusterArn?: string;
12
+ cluster?: ICluster;
13
+ };
14
+ };
15
+ export declare class ECSClusterPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<ECSClusterPrefabParams, CustomConfigs> {
16
+ readonly cluster: ICluster;
17
+ constructor(service: TakumiStack<CustomConfigs>, params: ECSClusterPrefabParams, propsOverride?: PrefabPropsOverride<CustomConfigs>);
18
+ }
19
+ //# sourceMappingURL=cluster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.d.ts","sourceRoot":"","sources":["../../../../prefab/compute/ecs/cluster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;KACjC,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,QAAQ,CAAC;KACpB,CAAC;CACH,CAAC;AAEF,qBAAa,gBAAgB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CACvG,sBAAsB,EACtB,aAAa,CACd;IACC,SAAgB,OAAO,EAAE,QAAQ,CAAC;gBAGhC,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,sBAAsB,EAC9B,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CAarD"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ECSClusterPrefab = void 0;
4
+ const aws_ecs_1 = require("aws-cdk-lib/aws-ecs");
5
+ const common_1 = require("../../../common");
6
+ class ECSClusterPrefab extends common_1.Prefab {
7
+ cluster;
8
+ constructor(service, params, propsOverride) {
9
+ super(ECSClusterPrefab.name, service, params, propsOverride);
10
+ this.cluster =
11
+ params.existingResource?.cluster || params.existingResource?.clusterArn
12
+ ? aws_ecs_1.Cluster.fromClusterArn(this, this.getId('cluster'), params.existingResource.clusterArn)
13
+ : new aws_ecs_1.Cluster(this, this.getId('Cluster'), {
14
+ clusterName: this.getResourceName('cluster'),
15
+ vpc: params.vpcPrefab.vpc,
16
+ ...params.resourceProps?.cluster,
17
+ });
18
+ }
19
+ }
20
+ exports.ECSClusterPrefab = ECSClusterPrefab;
21
+ //# sourceMappingURL=cluster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../../prefab/compute/ecs/cluster.ts"],"names":[],"mappings":";;;AAAA,iDAAsE;AAEtE,4CAA8F;AAe9F,MAAa,gBAA8E,SAAQ,eAGlG;IACiB,OAAO,CAAW;IAElC,YACE,OAAmC,EACnC,MAA8B,EAC9B,aAAkD;QAElD,KAAK,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO;YACV,MAAM,CAAC,gBAAgB,EAAE,OAAO,IAAI,MAAM,CAAC,gBAAgB,EAAE,UAAU;gBACrE,CAAC,CAAC,iBAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC,UAAW,CAAC;gBAC1F,CAAC,CAAC,IAAI,iBAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;oBACvC,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;oBAC5C,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG;oBACzB,GAAG,MAAM,CAAC,aAAa,EAAE,OAAO;iBACjC,CAAC,CAAC;IACX,CAAC;CACF;AAtBD,4CAsBC"}
@@ -1,3 +1,3 @@
1
1
  export * from './cluster';
2
2
  export * from './service';
3
- //# sourceMappingURL=index.d.ts.map
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/compute/ecs/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/compute/ecs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B"}
@@ -0,0 +1,44 @@
1
+ import { IRepository } from 'aws-cdk-lib/aws-ecr';
2
+ import { TaskDefinition, FargateService, TaskDefinitionProps, ContainerDefinitionOptions, FargateServiceProps, ContainerDefinition } from 'aws-cdk-lib/aws-ecs';
3
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../common';
4
+ import { PublicAlbPrefab, TargetGroupConfig } from '../../gateway';
5
+ import { ECSClusterPrefab } from './cluster';
6
+ export type ECSServicePrefabParams = {
7
+ name: string;
8
+ ecsClusterPrefab: ECSClusterPrefab;
9
+ albConfig?: {
10
+ albPrefab: PublicAlbPrefab;
11
+ targetGroupConfig: TargetGroupConfig;
12
+ };
13
+ basePath: string;
14
+ autoScalingConfig: {
15
+ taskAutoScaleMin: number;
16
+ taskAutoScaleMax: number;
17
+ taskAutoScalePercent: number;
18
+ };
19
+ containerImage: {
20
+ dockerBuildFolder?: string;
21
+ ECR?: {
22
+ repositoryName: string;
23
+ tag?: string;
24
+ };
25
+ };
26
+ resourceProps?: {
27
+ taskDefinition?: Partial<TaskDefinitionProps>;
28
+ container?: Partial<ContainerDefinitionOptions>;
29
+ fargateService?: Partial<FargateServiceProps>;
30
+ };
31
+ existingResource?: {
32
+ taskDefinition?: TaskDefinition;
33
+ container?: ContainerDefinition;
34
+ fargateService?: FargateService;
35
+ };
36
+ };
37
+ export declare class ECSServicePrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<ECSServicePrefabParams, CustomConfigs> {
38
+ readonly repository?: IRepository;
39
+ readonly taskDefinition: TaskDefinition;
40
+ readonly fargateService: FargateService;
41
+ readonly container: ContainerDefinition;
42
+ constructor(service: TakumiStack<CustomConfigs>, params: ECSServicePrefabParams, propsOverride?: PrefabPropsOverride<CustomConfigs>);
43
+ }
44
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../prefab/compute/ecs/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,cAAc,EAKd,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,SAAS,CAAC,EAAE;QACV,SAAS,EAAE,eAAe,CAAC;QAC3B,iBAAiB,EAAE,iBAAiB,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE;QACjB,gBAAgB,EAAE,MAAM,CAAC;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,cAAc,EAAE;QACd,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,GAAG,CAAC,EAAE;YACJ,cAAc,EAAE,MAAM,CAAC;YACvB,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,aAAa,CAAC,EAAE;QACd,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC9C,SAAS,CAAC,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAChD,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAC/C,CAAC;IACF,gBAAgB,CAAC,EAAE;QACjB,cAAc,CAAC,EAAE,cAAc,CAAC;QAChC,SAAS,CAAC,EAAE,mBAAmB,CAAC;QAChC,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,CAAC;CACH,CAAC;AAEF,qBAAa,gBAAgB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CACvG,sBAAsB,EACtB,aAAa,CACd;IACC,SAAgB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzC,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,SAAS,EAAE,mBAAmB,CAAC;gBAG7C,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,sBAAsB,EAC9B,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CAiGrD"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ECSServicePrefab = void 0;
4
+ const aws_ecr_1 = require("aws-cdk-lib/aws-ecr");
5
+ const aws_ecs_1 = require("aws-cdk-lib/aws-ecs");
6
+ const aws_ecs_2 = require("aws-cdk-lib/aws-ecs");
7
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
8
+ const aws_logs_1 = require("aws-cdk-lib/aws-logs");
9
+ const common_1 = require("../../../common");
10
+ class ECSServicePrefab extends common_1.Prefab {
11
+ repository;
12
+ taskDefinition;
13
+ fargateService;
14
+ container;
15
+ constructor(service, params, propsOverride) {
16
+ super(ECSServicePrefab.name, service, params, propsOverride);
17
+ if (!params.containerImage.dockerBuildFolder && !params.containerImage.ECR) {
18
+ throw new Error('Either "dockerBuildFolder" or "containerImage.ECR" must be specified in the ECSServicePrefabParams.');
19
+ }
20
+ if (params.containerImage.ECR) {
21
+ this.repository = aws_ecr_1.Repository.fromRepositoryName(this, this.getId('repo'), params.containerImage.ECR.repositoryName);
22
+ }
23
+ const containerImage = this.repository
24
+ ? aws_ecs_1.ContainerImage.fromEcrRepository(this.repository, params.containerImage.ECR?.tag || 'latest')
25
+ : aws_ecs_1.ContainerImage.fromAsset(params.containerImage.dockerBuildFolder);
26
+ this.taskDefinition =
27
+ params.existingResource?.taskDefinition ||
28
+ new aws_ecs_1.TaskDefinition(this, this.getId('TaskDefinition'), {
29
+ family: this.getResourceName('task-definition'),
30
+ compatibility: aws_ecs_1.Compatibility.FARGATE,
31
+ networkMode: aws_ecs_1.NetworkMode.AWS_VPC,
32
+ cpu: '256',
33
+ memoryMiB: '512',
34
+ ...params.resourceProps?.taskDefinition,
35
+ });
36
+ this.container =
37
+ params.existingResource?.container ||
38
+ this.taskDefinition.addContainer(this.getId('Container'), {
39
+ containerName: this.getResourceName('container'),
40
+ image: containerImage,
41
+ logging: aws_ecs_1.LogDriver.awsLogs({
42
+ streamPrefix: this.getResourceName('prefix'),
43
+ logGroup: new aws_logs_1.LogGroup(this, this.getResourceName('LogGroup'), {
44
+ logGroupName: this.getResourceName('log-group'),
45
+ }),
46
+ }),
47
+ ...params.resourceProps?.container,
48
+ });
49
+ if (params.albConfig?.targetGroupConfig.basePath) {
50
+ this.container.addEnvironment('BASE_PATH', params.albConfig?.targetGroupConfig.basePath);
51
+ }
52
+ if (params.albConfig?.targetGroupConfig.mappingPort) {
53
+ this.container.addPortMappings({ containerPort: params.albConfig.targetGroupConfig.mappingPort });
54
+ }
55
+ this.taskDefinition.addToTaskRolePolicy(new aws_iam_1.PolicyStatement({
56
+ sid: this.getResourceName('task-definition-policy'),
57
+ effect: aws_iam_1.Effect.ALLOW,
58
+ actions: [
59
+ 'ssmmessages:CreateControlChannel',
60
+ 'ssmmessages:CreateDataChannel',
61
+ 'ssmmessages:OpenControlChannel',
62
+ 'ssmmessages:OpenDataChannel',
63
+ ],
64
+ resources: ['*'],
65
+ }));
66
+ if (this.repository)
67
+ this.repository.grantPull(this.taskDefinition.taskRole);
68
+ // FARGATE SERVICE
69
+ this.fargateService =
70
+ params.existingResource?.fargateService ||
71
+ new aws_ecs_1.FargateService(this, this.getId('FargateService'), {
72
+ serviceName: this.getResourceName('fargate-service'),
73
+ platformVersion: aws_ecs_2.FargatePlatformVersion.LATEST,
74
+ cluster: params.ecsClusterPrefab.cluster,
75
+ taskDefinition: this.taskDefinition,
76
+ securityGroups: params.albConfig?.albPrefab ? [params.albConfig.albPrefab.getAlbToClusterSG()] : undefined,
77
+ assignPublicIp: true,
78
+ circuitBreaker: { rollback: true },
79
+ capacityProviderStrategies: [{ capacityProvider: 'FARGATE' }],
80
+ ...params.resourceProps?.fargateService,
81
+ });
82
+ // AUTOSCALING
83
+ const scalableTarget = this.fargateService.autoScaleTaskCount({
84
+ minCapacity: params.autoScalingConfig.taskAutoScaleMin,
85
+ maxCapacity: params.autoScalingConfig.taskAutoScaleMax,
86
+ });
87
+ scalableTarget.scaleOnMemoryUtilization(this.getId('ScaleUpMem'), {
88
+ targetUtilizationPercent: params.autoScalingConfig.taskAutoScalePercent,
89
+ });
90
+ scalableTarget.scaleOnCpuUtilization(this.getId('ScaleUpCPU'), {
91
+ targetUtilizationPercent: params.autoScalingConfig.taskAutoScalePercent,
92
+ });
93
+ // CONNECT TO ALB
94
+ params.albConfig?.albPrefab.appendTargetGroup(this.fargateService, this.container.containerName, params.albConfig.targetGroupConfig);
95
+ }
96
+ }
97
+ exports.ECSServicePrefab = ECSServicePrefab;
98
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../../prefab/compute/ecs/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import { ApiDefinition, ApiInterface } from '@takumi-stack/sdk';
2
+ import { BaseCustomConfigs, Prefab, PrefabPropsOverride, TakumiStack } from '../../../../common';
3
+ import { ApiHttpPrefab, ApiRestPrefab } from '../../../gateway';
4
+ import { FunctionConfigs, FunctionPrefab } from '../base';
5
+ export type ApiFunctionHandler = FunctionConfigs & {
6
+ name?: string;
7
+ apiDefinition: ApiDefinition<ApiInterface>;
8
+ entryRootDirectory?: string;
9
+ cacheMaxAge?: number;
10
+ };
11
+ export type ApiFunctionsPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs, HandlerName extends string = string> = FunctionConfigs & {
12
+ name: string;
13
+ entryRootDirectory: string;
14
+ handlers: Record<HandlerName, ApiFunctionHandler>;
15
+ apiPrefab: ApiRestPrefab<CustomConfigs> | ApiHttpPrefab<CustomConfigs>;
16
+ };
17
+ export declare class ApiFunctionsPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs, HandlerName extends string = string> extends Prefab<ApiFunctionsPrefabParams<CustomConfigs, HandlerName>, CustomConfigs> {
18
+ readonly handlers: Record<HandlerName, FunctionPrefab<CustomConfigs>>;
19
+ constructor(service: TakumiStack<CustomConfigs>, params: ApiFunctionsPrefabParams<CustomConfigs, HandlerName>, propsOverride?: PrefabPropsOverride<CustomConfigs>, parentName?: string);
20
+ }
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../prefab/compute/function/api/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE1D,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAClC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,EAC3D,WAAW,SAAS,MAAM,GAAG,MAAM,IACjC,eAAe,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IAClD,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;CACxE,CAAC;AAEF,qBAAa,kBAAkB,CAC7B,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,EAC3D,WAAW,SAAS,MAAM,GAAG,MAAM,CACnC,SAAQ,MAAM,CAAC,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,aAAa,CAAC;IACnF,SAAgB,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;gBAG3E,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,wBAAwB,CAAC,aAAa,EAAE,WAAW,CAAC,EAC5D,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAClD,UAAU,CAAC,EAAE,MAAM;CA4CtB"}