@gradientedge/cdk-utils 4.4.5 → 4.4.9

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 (317) hide show
  1. package/app/api-destined-function/node_modules/.yarn-integrity +1 -1
  2. package/app/api-destined-function/node_modules/minimatch/README.md +1 -1
  3. package/app/api-destined-function/node_modules/minimatch/minimatch.js +74 -45
  4. package/app/api-destined-function/node_modules/minimatch/package.json +3 -3
  5. package/app/api-destined-function/node_modules/uuid/dist/bin/uuid +2 -0
  6. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/index.js +9 -0
  7. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  8. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  9. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  10. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  11. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/rng.js +19 -0
  12. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  13. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/stringify.js +30 -0
  14. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v1.js +95 -0
  15. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  16. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v35.js +64 -0
  17. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v4.js +24 -0
  18. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  19. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  20. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/version.js +11 -0
  21. package/app/api-destined-function/node_modules/uuid/dist/esm-node/index.js +9 -0
  22. package/app/api-destined-function/node_modules/uuid/dist/esm-node/md5.js +13 -0
  23. package/app/api-destined-function/node_modules/uuid/dist/esm-node/nil.js +1 -0
  24. package/app/api-destined-function/node_modules/uuid/dist/esm-node/parse.js +35 -0
  25. package/app/api-destined-function/node_modules/uuid/dist/esm-node/regex.js +1 -0
  26. package/app/api-destined-function/node_modules/uuid/dist/esm-node/rng.js +12 -0
  27. package/app/api-destined-function/node_modules/uuid/dist/esm-node/sha1.js +13 -0
  28. package/app/api-destined-function/node_modules/uuid/dist/esm-node/stringify.js +29 -0
  29. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v1.js +95 -0
  30. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v3.js +4 -0
  31. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v35.js +64 -0
  32. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v4.js +24 -0
  33. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v5.js +4 -0
  34. package/app/api-destined-function/node_modules/uuid/dist/esm-node/validate.js +7 -0
  35. package/app/api-destined-function/node_modules/uuid/dist/esm-node/version.js +11 -0
  36. package/app/api-destined-function/node_modules/uuid/dist/index.js +79 -0
  37. package/app/api-destined-function/node_modules/uuid/dist/md5-browser.js +223 -0
  38. package/app/api-destined-function/node_modules/uuid/dist/md5.js +23 -0
  39. package/app/api-destined-function/node_modules/uuid/dist/nil.js +8 -0
  40. package/app/api-destined-function/node_modules/uuid/dist/parse.js +45 -0
  41. package/app/api-destined-function/node_modules/uuid/dist/regex.js +8 -0
  42. package/app/api-destined-function/node_modules/uuid/dist/rng-browser.js +26 -0
  43. package/app/api-destined-function/node_modules/uuid/dist/rng.js +24 -0
  44. package/app/api-destined-function/node_modules/uuid/dist/sha1-browser.js +104 -0
  45. package/app/api-destined-function/node_modules/uuid/dist/sha1.js +23 -0
  46. package/app/api-destined-function/node_modules/uuid/dist/stringify.js +39 -0
  47. package/app/api-destined-function/node_modules/uuid/dist/umd/uuid.min.js +1 -0
  48. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidNIL.min.js +1 -0
  49. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidParse.min.js +1 -0
  50. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidStringify.min.js +1 -0
  51. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidValidate.min.js +1 -0
  52. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidVersion.min.js +1 -0
  53. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv1.min.js +1 -0
  54. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv3.min.js +1 -0
  55. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv4.min.js +1 -0
  56. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv5.min.js +1 -0
  57. package/app/api-destined-function/node_modules/uuid/dist/uuid-bin.js +85 -0
  58. package/app/api-destined-function/node_modules/uuid/dist/v1.js +107 -0
  59. package/app/api-destined-function/node_modules/uuid/dist/v3.js +16 -0
  60. package/app/api-destined-function/node_modules/uuid/dist/v35.js +78 -0
  61. package/app/api-destined-function/node_modules/uuid/dist/v4.js +37 -0
  62. package/app/api-destined-function/node_modules/uuid/dist/v5.js +16 -0
  63. package/app/api-destined-function/node_modules/uuid/dist/validate.js +17 -0
  64. package/app/api-destined-function/node_modules/uuid/dist/version.js +21 -0
  65. package/app/api-destined-function/package.json +1 -0
  66. package/dist/app/api-destined-function/layers/nodejs/node_modules/.bin/uuid +2 -0
  67. package/dist/app/api-destined-function/layers/nodejs/node_modules/.yarn-integrity +109 -0
  68. package/dist/app/api-destined-function/layers/nodejs/node_modules/@types/uuid/LICENSE +21 -0
  69. package/dist/app/api-destined-function/layers/nodejs/node_modules/@types/uuid/README.md +16 -0
  70. package/dist/app/api-destined-function/layers/nodejs/node_modules/@types/uuid/index.d.mts +10 -0
  71. package/dist/app/api-destined-function/layers/nodejs/node_modules/@types/uuid/index.d.ts +80 -0
  72. package/dist/app/api-destined-function/layers/nodejs/node_modules/@types/uuid/package.json +54 -0
  73. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/LICENSE.md +9 -0
  74. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/README.md +505 -0
  75. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/bin/uuid +2 -0
  76. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/index.js +9 -0
  77. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/md5.js +215 -0
  78. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  79. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/parse.js +35 -0
  80. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  81. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/rng.js +19 -0
  82. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/sha1.js +96 -0
  83. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/stringify.js +30 -0
  84. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v1.js +95 -0
  85. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  86. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v35.js +64 -0
  87. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v4.js +24 -0
  88. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  89. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  90. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-browser/version.js +11 -0
  91. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/index.js +9 -0
  92. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/md5.js +13 -0
  93. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/nil.js +1 -0
  94. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/parse.js +35 -0
  95. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/regex.js +1 -0
  96. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/rng.js +12 -0
  97. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/sha1.js +13 -0
  98. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/stringify.js +29 -0
  99. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v1.js +95 -0
  100. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v3.js +4 -0
  101. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v35.js +64 -0
  102. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v4.js +24 -0
  103. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/v5.js +4 -0
  104. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/validate.js +7 -0
  105. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/esm-node/version.js +11 -0
  106. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/index.js +79 -0
  107. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/md5-browser.js +223 -0
  108. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/md5.js +23 -0
  109. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/nil.js +8 -0
  110. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/parse.js +45 -0
  111. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/regex.js +8 -0
  112. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/rng-browser.js +26 -0
  113. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/rng.js +24 -0
  114. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/sha1-browser.js +104 -0
  115. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/sha1.js +23 -0
  116. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/stringify.js +39 -0
  117. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuid.min.js +1 -0
  118. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidNIL.min.js +1 -0
  119. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidParse.min.js +1 -0
  120. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidStringify.min.js +1 -0
  121. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidValidate.min.js +1 -0
  122. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidVersion.min.js +1 -0
  123. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv1.min.js +1 -0
  124. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv3.min.js +1 -0
  125. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv4.min.js +1 -0
  126. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/umd/uuidv5.min.js +1 -0
  127. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/uuid-bin.js +85 -0
  128. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/v1.js +107 -0
  129. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/v3.js +16 -0
  130. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/v35.js +78 -0
  131. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/v4.js +37 -0
  132. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/v5.js +16 -0
  133. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/validate.js +17 -0
  134. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/dist/version.js +21 -0
  135. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/package.json +135 -0
  136. package/dist/app/api-destined-function/layers/nodejs/node_modules/uuid/wrapper.mjs +10 -0
  137. package/dist/app/api-destined-function/layers/nodejs/package.json +30 -0
  138. package/dist/app/api-destined-function/src/lib/lambda.d.ts +19 -0
  139. package/dist/app/api-destined-function/src/lib/lambda.d.ts.map +1 -0
  140. package/dist/app/api-destined-function/src/lib/lambda.js +34 -0
  141. package/dist/app/api-destined-function/src/lib/lambda.js.map +1 -0
  142. package/dist/index.d.ts +6 -0
  143. package/dist/index.d.ts.map +1 -0
  144. package/dist/index.js.map +1 -0
  145. package/dist/src/lib/common/construct.d.ts +80 -0
  146. package/dist/src/lib/common/construct.d.ts.map +1 -0
  147. package/dist/src/lib/common/construct.js +134 -0
  148. package/dist/src/lib/common/construct.js.map +1 -0
  149. package/dist/src/lib/common/index.d.ts +3 -0
  150. package/dist/src/lib/common/index.d.ts.map +1 -0
  151. package/dist/src/lib/common/index.js +15 -0
  152. package/dist/src/lib/common/index.js.map +1 -0
  153. package/dist/src/lib/common/stack.d.ts +55 -0
  154. package/dist/src/lib/common/stack.d.ts.map +1 -0
  155. package/dist/src/lib/common/stack.js +148 -0
  156. package/dist/src/lib/common/stack.js.map +1 -0
  157. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.d.ts +17 -0
  158. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.d.ts.map +1 -0
  159. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.js +18 -0
  160. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.js.map +1 -0
  161. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.d.ts +20 -0
  162. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.d.ts.map +1 -0
  163. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.js +20 -0
  164. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.js.map +1 -0
  165. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.d.ts +36 -0
  166. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.d.ts.map +1 -0
  167. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.js +30 -0
  168. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.js.map +1 -0
  169. package/dist/src/lib/construct/api-to-eventbridge-target/index.d.ts +5 -0
  170. package/dist/src/lib/construct/api-to-eventbridge-target/index.d.ts.map +1 -0
  171. package/dist/src/lib/construct/api-to-eventbridge-target/index.js +17 -0
  172. package/dist/src/lib/construct/api-to-eventbridge-target/index.js.map +1 -0
  173. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts +135 -0
  174. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts.map +1 -0
  175. package/dist/src/lib/construct/api-to-eventbridge-target/main.js +488 -0
  176. package/dist/src/lib/construct/api-to-eventbridge-target/main.js.map +1 -0
  177. package/dist/src/lib/construct/graphql-api-lambda/index.d.ts +2 -0
  178. package/dist/src/lib/construct/graphql-api-lambda/index.d.ts.map +1 -0
  179. package/dist/src/lib/construct/graphql-api-lambda/index.js +14 -0
  180. package/dist/src/lib/construct/graphql-api-lambda/index.js.map +1 -0
  181. package/dist/src/lib/construct/graphql-api-lambda/main.d.ts +113 -0
  182. package/dist/src/lib/construct/graphql-api-lambda/main.d.ts.map +1 -0
  183. package/dist/src/lib/construct/graphql-api-lambda/main.js +202 -0
  184. package/dist/src/lib/construct/graphql-api-lambda/main.js.map +1 -0
  185. package/dist/src/lib/construct/index.d.ts +5 -0
  186. package/dist/src/lib/construct/index.d.ts.map +1 -0
  187. package/dist/src/lib/construct/index.js +17 -0
  188. package/dist/src/lib/construct/index.js.map +1 -0
  189. package/dist/src/lib/construct/site-with-ecs-backend/index.d.ts +2 -0
  190. package/dist/src/lib/construct/site-with-ecs-backend/index.d.ts.map +1 -0
  191. package/dist/src/lib/construct/site-with-ecs-backend/index.js +14 -0
  192. package/dist/src/lib/construct/site-with-ecs-backend/index.js.map +1 -0
  193. package/dist/src/lib/construct/site-with-ecs-backend/main.d.ts +168 -0
  194. package/dist/src/lib/construct/site-with-ecs-backend/main.d.ts.map +1 -0
  195. package/dist/src/lib/construct/site-with-ecs-backend/main.js +328 -0
  196. package/dist/src/lib/construct/site-with-ecs-backend/main.js.map +1 -0
  197. package/dist/src/lib/construct/static-site/index.d.ts +2 -0
  198. package/dist/src/lib/construct/static-site/index.d.ts.map +1 -0
  199. package/dist/src/lib/construct/static-site/index.js +14 -0
  200. package/dist/src/lib/construct/static-site/index.js.map +1 -0
  201. package/dist/src/lib/construct/static-site/main.d.ts +95 -0
  202. package/dist/src/lib/construct/static-site/main.d.ts.map +1 -0
  203. package/dist/src/lib/construct/static-site/main.js +169 -0
  204. package/dist/src/lib/construct/static-site/main.js.map +1 -0
  205. package/dist/src/lib/manager/aws/acm-manager.d.ts +47 -0
  206. package/dist/src/lib/manager/aws/acm-manager.d.ts.map +1 -0
  207. package/dist/src/lib/manager/aws/acm-manager.js +91 -0
  208. package/dist/src/lib/manager/aws/acm-manager.js.map +1 -0
  209. package/dist/src/lib/manager/aws/api-manager.d.ts +44 -0
  210. package/dist/src/lib/manager/aws/api-manager.d.ts.map +1 -0
  211. package/dist/src/lib/manager/aws/api-manager.js +112 -0
  212. package/dist/src/lib/manager/aws/api-manager.js.map +1 -0
  213. package/dist/src/lib/manager/aws/app-config-manager.d.ts +66 -0
  214. package/dist/src/lib/manager/aws/app-config-manager.d.ts.map +1 -0
  215. package/dist/src/lib/manager/aws/app-config-manager.js +149 -0
  216. package/dist/src/lib/manager/aws/app-config-manager.js.map +1 -0
  217. package/dist/src/lib/manager/aws/cloudfront-manager.d.ts +113 -0
  218. package/dist/src/lib/manager/aws/cloudfront-manager.d.ts.map +1 -0
  219. package/dist/src/lib/manager/aws/cloudfront-manager.js +283 -0
  220. package/dist/src/lib/manager/aws/cloudfront-manager.js.map +1 -0
  221. package/dist/src/lib/manager/aws/cloudtrail-manager.d.ts +49 -0
  222. package/dist/src/lib/manager/aws/cloudtrail-manager.d.ts.map +1 -0
  223. package/dist/src/lib/manager/aws/cloudtrail-manager.js +100 -0
  224. package/dist/src/lib/manager/aws/cloudtrail-manager.js.map +1 -0
  225. package/dist/src/lib/manager/aws/cloudwatch-manager.d.ts +122 -0
  226. package/dist/src/lib/manager/aws/cloudwatch-manager.d.ts.map +1 -0
  227. package/dist/src/lib/manager/aws/cloudwatch-manager.js +353 -0
  228. package/dist/src/lib/manager/aws/cloudwatch-manager.js.map +1 -0
  229. package/dist/src/lib/manager/aws/codebuild-manager.d.ts +41 -0
  230. package/dist/src/lib/manager/aws/codebuild-manager.d.ts.map +1 -0
  231. package/dist/src/lib/manager/aws/codebuild-manager.js +95 -0
  232. package/dist/src/lib/manager/aws/codebuild-manager.js.map +1 -0
  233. package/dist/src/lib/manager/aws/dynamodb-manager.d.ts +33 -0
  234. package/dist/src/lib/manager/aws/dynamodb-manager.d.ts.map +1 -0
  235. package/dist/src/lib/manager/aws/dynamodb-manager.js +80 -0
  236. package/dist/src/lib/manager/aws/dynamodb-manager.js.map +1 -0
  237. package/dist/src/lib/manager/aws/ecr-manager.d.ts +32 -0
  238. package/dist/src/lib/manager/aws/ecr-manager.d.ts.map +1 -0
  239. package/dist/src/lib/manager/aws/ecr-manager.js +61 -0
  240. package/dist/src/lib/manager/aws/ecr-manager.js.map +1 -0
  241. package/dist/src/lib/manager/aws/ecs-manager.d.ts +49 -0
  242. package/dist/src/lib/manager/aws/ecs-manager.d.ts.map +1 -0
  243. package/dist/src/lib/manager/aws/ecs-manager.js +104 -0
  244. package/dist/src/lib/manager/aws/ecs-manager.js.map +1 -0
  245. package/dist/src/lib/manager/aws/eks-manager.d.ts +37 -0
  246. package/dist/src/lib/manager/aws/eks-manager.d.ts.map +1 -0
  247. package/dist/src/lib/manager/aws/eks-manager.js +110 -0
  248. package/dist/src/lib/manager/aws/eks-manager.js.map +1 -0
  249. package/dist/src/lib/manager/aws/event-manager.d.ts +68 -0
  250. package/dist/src/lib/manager/aws/event-manager.d.ts.map +1 -0
  251. package/dist/src/lib/manager/aws/event-manager.js +163 -0
  252. package/dist/src/lib/manager/aws/event-manager.js.map +1 -0
  253. package/dist/src/lib/manager/aws/iam-manager.d.ts +155 -0
  254. package/dist/src/lib/manager/aws/iam-manager.d.ts.map +1 -0
  255. package/dist/src/lib/manager/aws/iam-manager.js +381 -0
  256. package/dist/src/lib/manager/aws/iam-manager.js.map +1 -0
  257. package/dist/src/lib/manager/aws/index.d.ts +23 -0
  258. package/dist/src/lib/manager/aws/index.d.ts.map +1 -0
  259. package/dist/src/lib/manager/aws/index.js +35 -0
  260. package/dist/src/lib/manager/aws/index.js.map +1 -0
  261. package/dist/src/lib/manager/aws/lambda-manager.d.ts +95 -0
  262. package/dist/src/lib/manager/aws/lambda-manager.d.ts.map +1 -0
  263. package/dist/src/lib/manager/aws/lambda-manager.js +197 -0
  264. package/dist/src/lib/manager/aws/lambda-manager.js.map +1 -0
  265. package/dist/src/lib/manager/aws/log-manager.d.ts +52 -0
  266. package/dist/src/lib/manager/aws/log-manager.d.ts.map +1 -0
  267. package/dist/src/lib/manager/aws/log-manager.js +109 -0
  268. package/dist/src/lib/manager/aws/log-manager.js.map +1 -0
  269. package/dist/src/lib/manager/aws/route53-manager.d.ts +69 -0
  270. package/dist/src/lib/manager/aws/route53-manager.d.ts.map +1 -0
  271. package/dist/src/lib/manager/aws/route53-manager.js +159 -0
  272. package/dist/src/lib/manager/aws/route53-manager.js.map +1 -0
  273. package/dist/src/lib/manager/aws/s3-manager.d.ts +74 -0
  274. package/dist/src/lib/manager/aws/s3-manager.d.ts.map +1 -0
  275. package/dist/src/lib/manager/aws/s3-manager.js +203 -0
  276. package/dist/src/lib/manager/aws/s3-manager.js.map +1 -0
  277. package/dist/src/lib/manager/aws/secrets-manager.d.ts +58 -0
  278. package/dist/src/lib/manager/aws/secrets-manager.d.ts.map +1 -0
  279. package/dist/src/lib/manager/aws/secrets-manager.js +117 -0
  280. package/dist/src/lib/manager/aws/secrets-manager.js.map +1 -0
  281. package/dist/src/lib/manager/aws/sns-manager.d.ts +43 -0
  282. package/dist/src/lib/manager/aws/sns-manager.d.ts.map +1 -0
  283. package/dist/src/lib/manager/aws/sns-manager.js +91 -0
  284. package/dist/src/lib/manager/aws/sns-manager.js.map +1 -0
  285. package/dist/src/lib/manager/aws/ssm-manager.d.ts +61 -0
  286. package/dist/src/lib/manager/aws/ssm-manager.d.ts.map +1 -0
  287. package/dist/src/lib/manager/aws/ssm-manager.js +125 -0
  288. package/dist/src/lib/manager/aws/ssm-manager.js.map +1 -0
  289. package/dist/src/lib/manager/aws/vpc-manager.d.ts +46 -0
  290. package/dist/src/lib/manager/aws/vpc-manager.d.ts.map +1 -0
  291. package/dist/src/lib/manager/aws/vpc-manager.js +95 -0
  292. package/dist/src/lib/manager/aws/vpc-manager.js.map +1 -0
  293. package/dist/src/lib/manager/aws/waf-manager.d.ts +40 -0
  294. package/dist/src/lib/manager/aws/waf-manager.d.ts.map +1 -0
  295. package/dist/src/lib/manager/aws/waf-manager.js +90 -0
  296. package/dist/src/lib/manager/aws/waf-manager.js.map +1 -0
  297. package/dist/src/lib/manager/index.d.ts +2 -0
  298. package/dist/src/lib/manager/index.d.ts.map +1 -0
  299. package/dist/src/lib/manager/index.js +14 -0
  300. package/dist/src/lib/manager/index.js.map +1 -0
  301. package/dist/src/lib/types/aws/index.d.ts +480 -0
  302. package/dist/src/lib/types/aws/index.d.ts.map +1 -0
  303. package/dist/src/lib/types/aws/index.js +3 -0
  304. package/dist/src/lib/types/aws/index.js.map +1 -0
  305. package/dist/src/lib/types/index.d.ts +2 -0
  306. package/dist/src/lib/types/index.d.ts.map +1 -0
  307. package/dist/src/lib/types/index.js +14 -0
  308. package/dist/src/lib/types/index.js.map +1 -0
  309. package/dist/src/lib/utils/aws/index.d.ts +16 -0
  310. package/dist/src/lib/utils/aws/index.d.ts.map +1 -0
  311. package/dist/src/lib/utils/aws/index.js +50 -0
  312. package/dist/src/lib/utils/aws/index.js.map +1 -0
  313. package/dist/src/lib/utils/index.d.ts +63 -0
  314. package/dist/src/lib/utils/index.d.ts.map +1 -0
  315. package/dist/src/lib/utils/index.js +85 -0
  316. package/dist/src/lib/utils/index.js.map +1 -0
  317. package/package.json +8 -7
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.Route53Manager = void 0;
23
+ const route53 = __importStar(require("aws-cdk-lib/aws-route53"));
24
+ const route53Targets = __importStar(require("aws-cdk-lib/aws-route53-targets"));
25
+ const utils = __importStar(require("../../utils"));
26
+ /**
27
+ * @stability stable
28
+ * @category cdk-utils.route53-manager
29
+ * @subcategory Construct
30
+ * @classdesc Provides operations on AWS Route53.
31
+ * - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
32
+ * - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
33
+ * @example
34
+ * import * as common from '@gradientedge/cdk-utils'
35
+ *
36
+ * class CustomConstruct extends common.common.CommonConstruct {
37
+ * constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
38
+ * super(parent, id, props)
39
+ * this.props = props
40
+ * this.route53Manager.createHostedZone('MyHostedZone', this)
41
+ * }
42
+ * }
43
+ *
44
+ * @see [CDK Route53 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_route53-readme.html}
45
+ */
46
+ class Route53Manager {
47
+ /**
48
+ * @summary Method to create a hosted zone
49
+ * @param {string} id scoped id of the resource
50
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
51
+ * @param {types.Route53Props} props
52
+ */
53
+ createHostedZone(id, scope, props) {
54
+ let hostedZone;
55
+ if (!props)
56
+ throw `Route53 props undefined`;
57
+ if (props.useExistingHostedZone) {
58
+ hostedZone = route53.HostedZone.fromLookup(scope, `${id}`, {
59
+ domainName: scope.props.domainName,
60
+ });
61
+ }
62
+ else {
63
+ hostedZone = new route53.HostedZone(scope, `${id}`, {
64
+ zoneName: scope.props.domainName,
65
+ comment: `Hosted zone for ${scope.props.domainName}`,
66
+ });
67
+ }
68
+ utils.createCfnOutput(`${id}-hostedZoneId`, scope, hostedZone.hostedZoneId);
69
+ utils.createCfnOutput(`${id}-hostedZoneArn`, scope, hostedZone.hostedZoneArn);
70
+ return hostedZone;
71
+ }
72
+ /**
73
+ * @summary Method to create/lookup a hosted zone
74
+ * @param {string} id scoped id of the resource
75
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
76
+ * @param useExistingHostedZone Flag to indicate whether to lookup vs create new hosted zone
77
+ */
78
+ withHostedZoneFromFullyQualifiedDomainName(id, scope, useExistingHostedZone) {
79
+ let hostedZone;
80
+ if (useExistingHostedZone) {
81
+ hostedZone = route53.HostedZone.fromLookup(scope, `${id}`, {
82
+ domainName: scope.fullyQualifiedDomainName,
83
+ });
84
+ }
85
+ else {
86
+ hostedZone = new route53.HostedZone(scope, `${id}`, {
87
+ zoneName: scope.fullyQualifiedDomainName,
88
+ comment: `Hosted zone for ${scope.fullyQualifiedDomainName}`,
89
+ });
90
+ }
91
+ utils.createCfnOutput(`${id}-hostedZoneId`, scope, hostedZone.hostedZoneId);
92
+ utils.createCfnOutput(`${id}-hostedZoneArn`, scope, hostedZone.hostedZoneArn);
93
+ return hostedZone;
94
+ }
95
+ /**
96
+ * @summary Method to create a-record for cloudfront target
97
+ * @param {string} id scoped id of the resource
98
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
99
+ * @param {cloudfront.IDistribution} distribution
100
+ * @param {route53.IHostedZone} hostedZone
101
+ * @param {string} recordName
102
+ */
103
+ createCloudFrontTargetARecord(id, scope, distribution, hostedZone, recordName) {
104
+ if (!distribution)
105
+ throw `Distribution undefined`;
106
+ if (!hostedZone)
107
+ throw `HostedZone undefined`;
108
+ const aRecord = new route53.ARecord(scope, `${id}`, {
109
+ recordName: recordName && scope.isProductionStage() ? `${recordName}` : `${recordName}-${scope.props.stage}`,
110
+ target: route53.RecordTarget.fromAlias(new route53Targets.CloudFrontTarget(distribution)),
111
+ zone: hostedZone,
112
+ });
113
+ utils.createCfnOutput(`${id}-aRecordDomainName`, scope, aRecord.domainName);
114
+ return aRecord;
115
+ }
116
+ /**
117
+ * @summary Method to create a-record for cloudfront target
118
+ * @param {string} id scoped id of the resource
119
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
120
+ * @param {cloudfront.IDistribution} distribution
121
+ * @param {route53.IHostedZone} hostedZone
122
+ * @param {string} recordName
123
+ */
124
+ createCloudFrontTargetARecordV2(id, scope, distribution, hostedZone, recordName) {
125
+ if (!distribution)
126
+ throw `Distribution undefined`;
127
+ if (!hostedZone)
128
+ throw `HostedZone undefined`;
129
+ const aRecord = new route53.ARecord(scope, `${id}`, {
130
+ recordName: recordName,
131
+ target: route53.RecordTarget.fromAlias(new route53Targets.CloudFrontTarget(distribution)),
132
+ zone: hostedZone,
133
+ });
134
+ utils.createCfnOutput(`${id}-aRecordDomainName`, scope, aRecord.domainName);
135
+ return aRecord;
136
+ }
137
+ /**
138
+ * @summary Method to create a-record for restApi gateway target
139
+ * @param {string} id scoped id of the resource
140
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
141
+ * @param recordName
142
+ * @param apiDomain
143
+ * @param hostedZone
144
+ */
145
+ createApiGatewayARecord(id, scope, recordName, apiDomain, hostedZone) {
146
+ let apiRecordName = '';
147
+ if (recordName && recordName !== '')
148
+ apiRecordName = scope.isProductionStage() ? `${recordName}` : `${recordName}-${scope.props.stage}`;
149
+ const apiARecord = new route53.ARecord(scope, `${id}`, {
150
+ recordName: apiRecordName,
151
+ target: route53.RecordTarget.fromAlias(new route53Targets.ApiGatewayDomain(apiDomain)),
152
+ zone: hostedZone,
153
+ });
154
+ utils.createCfnOutput(`${id}-a-record-domain-name`, scope, apiARecord.domainName);
155
+ return apiARecord;
156
+ }
157
+ }
158
+ exports.Route53Manager = Route53Manager;
159
+ //# sourceMappingURL=route53-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route53-manager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/route53-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import * as cdk from 'aws-cdk-lib';
2
+ import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
3
+ import * as s3 from 'aws-cdk-lib/aws-s3';
4
+ import * as s3deploy from 'aws-cdk-lib/aws-s3-deployment';
5
+ import * as common from '../../common';
6
+ import * as types from '../../types';
7
+ /**
8
+ * @stability stable
9
+ * @category cdk-utils.s3-manager
10
+ * @subcategory Construct
11
+ * @classdesc Provides operations on AWS S3.
12
+ * - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
13
+ * - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
14
+ * @example
15
+ * import * as common from '@gradientedge/cdk-utils'
16
+ *
17
+ * class CustomConstruct extends common.common.CommonConstruct {
18
+ * constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
19
+ * super(parent, id, props)
20
+ * this.props = props
21
+ * this.s3Manager.createS3Bucket('MyBucket', this)
22
+ * }
23
+ * }
24
+ *
25
+ * @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
26
+ */
27
+ export declare class S3Manager {
28
+ /**
29
+ * @summary Method to determine S3 Bucket lifecycle properties
30
+ * @param {types.S3BucketProps} props bucket properties
31
+ * @private
32
+ */
33
+ protected determineBucketLifecycleRules(props: types.S3BucketProps): types.LifecycleRule[] | undefined;
34
+ /**
35
+ * @summary Method to determine the bucket name
36
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
37
+ * @param {types.S3BucketProps} props bucket properties
38
+ * @private
39
+ */
40
+ protected static determineBucketName(scope: common.CommonConstruct, props: types.S3BucketProps): string;
41
+ /**
42
+ * @summary Method to determine the log bucket name
43
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
44
+ * @param {types.S3BucketProps} props bucket properties
45
+ * @private
46
+ */
47
+ protected static determineLogBucketName(scope: common.CommonConstruct, props: types.S3BucketProps): string;
48
+ /**
49
+ * @summary Method to create a s3 bucket
50
+ * @param {string} id scoped id of the resource
51
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
52
+ * @param {types.S3BucketProps} props bucket properties
53
+ */
54
+ createS3Bucket(id: string, scope: common.CommonConstruct, props: types.S3BucketProps): cdk.aws_s3.IBucket;
55
+ /**
56
+ * @summary Method to create an iam bucket policy for cloudtrail
57
+ * @param {string} id scoped id of the resource
58
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
59
+ * @param {s3.IBucket} bucket
60
+ */
61
+ createBucketPolicyForCloudTrail(id: string, scope: common.CommonConstruct, bucket: s3.IBucket): cdk.aws_s3.CfnBucketPolicy;
62
+ /**
63
+ * @summary Method to create a s3 bucket deployment
64
+ * @param {string} id scoped id of the resource
65
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
66
+ * @param {s3.IBucket} siteBucket
67
+ * @param {cloudfront.IDistribution} distribution
68
+ * @param {s3deploy.ISource[]} sources
69
+ * @param {string} prefix
70
+ * @param {boolean} prune
71
+ */
72
+ doBucketDeployment(id: string, scope: common.CommonConstruct, siteBucket: s3.IBucket, distribution: cloudfront.IDistribution, sources: s3deploy.ISource[], prefix: string, prune?: boolean): void;
73
+ }
74
+ //# sourceMappingURL=s3-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-manager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/s3-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AACtC,OAAO,KAAK,KAAK,MAAM,aAAa,CAAA;AAGpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,SAAS;IACpB;;;;OAIG;IACH,SAAS,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa;IAyBlE;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa;IAM9F;;;;;OAKG;IACH,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa;IAMjG;;;;;OAKG;IACI,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa;IAkD3F;;;;;OAKG;IACI,+BAA+B,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO;IA0BpG;;;;;;;;;OASG;IACI,kBAAkB,CACvB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,UAAU,EAAE,EAAE,CAAC,OAAO,EACtB,YAAY,EAAE,UAAU,CAAC,aAAa,EACtC,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,OAAO;CAalB"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.S3Manager = void 0;
23
+ const cdk = __importStar(require("aws-cdk-lib"));
24
+ const iam = __importStar(require("aws-cdk-lib/aws-iam"));
25
+ const s3 = __importStar(require("aws-cdk-lib/aws-s3"));
26
+ const s3deploy = __importStar(require("aws-cdk-lib/aws-s3-deployment"));
27
+ const utils = __importStar(require("../../utils"));
28
+ /**
29
+ * @stability stable
30
+ * @category cdk-utils.s3-manager
31
+ * @subcategory Construct
32
+ * @classdesc Provides operations on AWS S3.
33
+ * - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
34
+ * - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
35
+ * @example
36
+ * import * as common from '@gradientedge/cdk-utils'
37
+ *
38
+ * class CustomConstruct extends common.common.CommonConstruct {
39
+ * constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
40
+ * super(parent, id, props)
41
+ * this.props = props
42
+ * this.s3Manager.createS3Bucket('MyBucket', this)
43
+ * }
44
+ * }
45
+ *
46
+ * @see [CDK S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
47
+ */
48
+ class S3Manager {
49
+ /**
50
+ * @summary Method to determine S3 Bucket lifecycle properties
51
+ * @param {types.S3BucketProps} props bucket properties
52
+ * @private
53
+ */
54
+ determineBucketLifecycleRules(props) {
55
+ if (!props.lifecycleRules)
56
+ return undefined;
57
+ const bucketLifecycleRules = [];
58
+ props.lifecycleRules.forEach(lifecycleRule => {
59
+ bucketLifecycleRules.push({
60
+ id: lifecycleRule.id,
61
+ enabled: lifecycleRule.enabled,
62
+ abortIncompleteMultipartUploadAfter: lifecycleRule.abortIncompleteMultipartUploadAfter,
63
+ expirationDate: lifecycleRule.expirationDate,
64
+ expiration: lifecycleRule.expirationInDays ? cdk.Duration.days(lifecycleRule.expirationInDays) : undefined,
65
+ noncurrentVersionExpiration: lifecycleRule.noncurrentVersionExpirationInDays
66
+ ? cdk.Duration.days(lifecycleRule.noncurrentVersionExpirationInDays)
67
+ : undefined,
68
+ noncurrentVersionTransitions: lifecycleRule.noncurrentVersionTransitions,
69
+ transitions: lifecycleRule.transitions,
70
+ prefix: lifecycleRule.prefix,
71
+ tagFilters: lifecycleRule.tagFilters,
72
+ expiredObjectDeleteMarker: lifecycleRule.expiredObjectDeleteMarker,
73
+ });
74
+ });
75
+ return bucketLifecycleRules;
76
+ }
77
+ /**
78
+ * @summary Method to determine the bucket name
79
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
80
+ * @param {types.S3BucketProps} props bucket properties
81
+ * @private
82
+ */
83
+ static determineBucketName(scope, props) {
84
+ return scope.isProductionStage()
85
+ ? `${props.bucketName}.${scope.fullyQualifiedDomainName}`
86
+ : `${props.bucketName}-${scope.props.stage}.${scope.fullyQualifiedDomainName}`;
87
+ }
88
+ /**
89
+ * @summary Method to determine the log bucket name
90
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
91
+ * @param {types.S3BucketProps} props bucket properties
92
+ * @private
93
+ */
94
+ static determineLogBucketName(scope, props) {
95
+ return scope.isProductionStage()
96
+ ? `${props.logBucketName}.${scope.fullyQualifiedDomainName}`
97
+ : `${props.logBucketName}-${scope.props.stage}.${scope.fullyQualifiedDomainName}`;
98
+ }
99
+ /**
100
+ * @summary Method to create a s3 bucket
101
+ * @param {string} id scoped id of the resource
102
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
103
+ * @param {types.S3BucketProps} props bucket properties
104
+ */
105
+ createS3Bucket(id, scope, props) {
106
+ if (!props)
107
+ throw `S3 props undefined`;
108
+ let bucket;
109
+ const bucketName = S3Manager.determineBucketName(scope, props);
110
+ if (props.existingBucket && props.bucketName) {
111
+ bucket = s3.Bucket.fromBucketName(scope, `${id}`, bucketName);
112
+ }
113
+ else {
114
+ let logBucket;
115
+ if (props.logBucketName) {
116
+ const logBucketName = S3Manager.determineLogBucketName(scope, props);
117
+ logBucket = s3.Bucket.fromBucketName(scope, `${id}-logs`, logBucketName);
118
+ }
119
+ bucket = new s3.Bucket(scope, `${id}-bucket`, {
120
+ accessControl: props.accessControl,
121
+ autoDeleteObjects: props.autoDeleteObjects,
122
+ blockPublicAccess: props.blockPublicAccess || s3.BlockPublicAccess.BLOCK_ALL,
123
+ bucketName: bucketName,
124
+ cors: props.cors,
125
+ encryption: props.encryption || s3.BucketEncryption.S3_MANAGED,
126
+ encryptionKey: props.encryptionKey,
127
+ lifecycleRules: this.determineBucketLifecycleRules(props),
128
+ metrics: props.metrics,
129
+ publicReadAccess: props.publicReadAccess,
130
+ removalPolicy: props.removalPolicy || cdk.RemovalPolicy.RETAIN,
131
+ serverAccessLogsBucket: logBucket,
132
+ serverAccessLogsPrefix: props.serverAccessLogsPrefix,
133
+ websiteIndexDocument: props.websiteIndexDocument,
134
+ websiteErrorDocument: props.websiteErrorDocument,
135
+ websiteRoutingRules: props.websiteRoutingRules,
136
+ versioned: props.versioned,
137
+ });
138
+ const cfnBucket = bucket.node.defaultChild;
139
+ cfnBucket.notificationConfiguration = {
140
+ eventBridgeConfiguration: {
141
+ eventBridgeEnabled: props.enableEventBridge ?? false,
142
+ },
143
+ };
144
+ }
145
+ utils.createCfnOutput(`${id}-bucketName`, scope, bucket.bucketName);
146
+ utils.createCfnOutput(`${id}-bucketArn`, scope, bucket.bucketArn);
147
+ return bucket;
148
+ }
149
+ /**
150
+ * @summary Method to create an iam bucket policy for cloudtrail
151
+ * @param {string} id scoped id of the resource
152
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
153
+ * @param {s3.IBucket} bucket
154
+ */
155
+ createBucketPolicyForCloudTrail(id, scope, bucket) {
156
+ const bucketPolicyDocument = new iam.PolicyDocument({
157
+ statements: [
158
+ new iam.PolicyStatement({
159
+ actions: ['s3:GetBucketAcl'],
160
+ effect: iam.Effect.ALLOW,
161
+ principals: [new iam.ServicePrincipal('cloudtrail.amazonaws.com')],
162
+ resources: [bucket.bucketArn],
163
+ sid: 'AWSCloudTrailAclCheck20150319',
164
+ }),
165
+ new iam.PolicyStatement({
166
+ actions: ['s3:PutObject'],
167
+ effect: iam.Effect.ALLOW,
168
+ principals: [new iam.ServicePrincipal('cloudtrail.amazonaws.com')],
169
+ resources: [bucket.arnForObjects('*')],
170
+ sid: 'AWSCloudTrailWrite20150319',
171
+ }),
172
+ ],
173
+ });
174
+ return new s3.CfnBucketPolicy(scope, `${id}`, {
175
+ bucket: bucket.bucketName,
176
+ policyDocument: bucketPolicyDocument,
177
+ });
178
+ }
179
+ /**
180
+ * @summary Method to create a s3 bucket deployment
181
+ * @param {string} id scoped id of the resource
182
+ * @param {common.CommonConstruct} scope scope in which this resource is defined
183
+ * @param {s3.IBucket} siteBucket
184
+ * @param {cloudfront.IDistribution} distribution
185
+ * @param {s3deploy.ISource[]} sources
186
+ * @param {string} prefix
187
+ * @param {boolean} prune
188
+ */
189
+ doBucketDeployment(id, scope, siteBucket, distribution, sources, prefix, prune) {
190
+ new s3deploy.BucketDeployment(scope, `${id}`, {
191
+ destinationBucket: siteBucket,
192
+ destinationKeyPrefix: prefix,
193
+ distribution: distribution,
194
+ distributionPaths: ['/*'],
195
+ memoryLimit: 1024,
196
+ prune: !!prune,
197
+ serverSideEncryption: s3deploy.ServerSideEncryption.AES_256,
198
+ sources: sources,
199
+ });
200
+ }
201
+ }
202
+ exports.S3Manager = S3Manager;
203
+ //# sourceMappingURL=s3-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"s3-manager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/s3-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import * as cdk from 'aws-cdk-lib';
2
+ import * as common from '../../common';
3
+ /**
4
+ * @stability experimental
5
+ * @category cdk-utils.secrets-manager
6
+ * @subcategory Construct
7
+ * @classdesc Provides operations on AWS Secrets Manager.
8
+ * - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
9
+ * - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
10
+ * @example
11
+ * import * as common from '@gradientedge/cdk-utils'
12
+ *
13
+ * class CustomConstruct extends common.common.CommonConstruct {
14
+ * constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
15
+ * super(parent, id, props)
16
+ * this.props = props
17
+ * this.secretsManager.loadSecret('MySecretName', 'eu-west-1')
18
+ * }
19
+ * }
20
+ *
21
+ * @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html}
22
+ */
23
+ export declare class SecretsManager {
24
+ /**
25
+ *
26
+ * @param {string} region
27
+ */
28
+ getAwsSecretsManager(region: string): any;
29
+ /**
30
+ * @stability experimental
31
+ * @summary Method to load a secret from secrets manager
32
+ * @param {string} secretName
33
+ * @param {string} region
34
+ */
35
+ loadSecret(secretName: string, region: string): Promise<any>;
36
+ /**
37
+ * @stability experimental
38
+ * @summary Method to load secrets from secrets manager
39
+ * @param {string} secretNames
40
+ * @param {string} region
41
+ */
42
+ loadSecrets(secretNames: string, region: string): Promise<{}>;
43
+ /**
44
+ * @stability experimental
45
+ * @summary Method to export secrets from secrets manager to a dot env format
46
+ */
47
+ exportToDotEnv(): void;
48
+ /**
49
+ * @stability stable
50
+ * @summary Method to retrieve a secret from secrets manager with a cloudformation export
51
+ * @param id
52
+ * @param scope
53
+ * @param stackName
54
+ * @param exportName
55
+ */
56
+ retrieveSecretFromSecretsManager(id: string, scope: common.CommonConstruct, stackName: string, exportName: string): cdk.aws_secretsmanager.ISecret;
57
+ }
58
+ //# sourceMappingURL=secrets-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets-manager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/secrets-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAElC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAKtC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,cAAc;IACzB;;;OAGG;IACI,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAI1C;;;;;OAKG;IACU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAO1D;;;;;OAKG;IACU,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAS5D;;;OAGG;IACI,cAAc;IA2BrB;;;;;;;OAOG;IACI,gCAAgC,CACrC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,CAAC,eAAe,EAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM;CAQrB"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.SecretsManager = void 0;
23
+ const cdk = __importStar(require("aws-cdk-lib"));
24
+ const secretsManager = __importStar(require("aws-cdk-lib/aws-secretsmanager"));
25
+ const AWS = require('aws-sdk');
26
+ const fs = require('fs');
27
+ /**
28
+ * @stability experimental
29
+ * @category cdk-utils.secrets-manager
30
+ * @subcategory Construct
31
+ * @classdesc Provides operations on AWS Secrets Manager.
32
+ * - A new instance of this class is injected into {@link common.CommonConstruct} constructor.
33
+ * - If a custom construct extends {@link common.CommonConstruct}, an instance is available within the context.
34
+ * @example
35
+ * import * as common from '@gradientedge/cdk-utils'
36
+ *
37
+ * class CustomConstruct extends common.common.CommonConstruct {
38
+ * constructor(parent: cdk.Construct, id: string, props: common.CommonStackProps) {
39
+ * super(parent, id, props)
40
+ * this.props = props
41
+ * this.secretsManager.loadSecret('MySecretName', 'eu-west-1')
42
+ * }
43
+ * }
44
+ *
45
+ * @see [CDK Secrets Manager Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_secretsmanager-readme.html}
46
+ */
47
+ class SecretsManager {
48
+ /**
49
+ *
50
+ * @param {string} region
51
+ */
52
+ getAwsSecretsManager(region) {
53
+ return new AWS.SecretsManager({ region: region });
54
+ }
55
+ /**
56
+ * @stability experimental
57
+ * @summary Method to load a secret from secrets manager
58
+ * @param {string} secretName
59
+ * @param {string} region
60
+ */
61
+ async loadSecret(secretName, region) {
62
+ const secretsManager = this.getAwsSecretsManager(region);
63
+ const secret = await Promise.all([secretsManager.getSecretValue({ SecretId: secretName }).promise()]);
64
+ return secret ? JSON.parse(secret[0].SecretString) : {};
65
+ }
66
+ /**
67
+ * @stability experimental
68
+ * @summary Method to load secrets from secrets manager
69
+ * @param {string} secretNames
70
+ * @param {string} region
71
+ */
72
+ async loadSecrets(secretNames, region) {
73
+ let secrets = {};
74
+ for (const secretName of secretNames.split(',')) {
75
+ secrets = { ...secrets, ...(await this.loadSecret(secretName, region)) };
76
+ }
77
+ return secrets;
78
+ }
79
+ /**
80
+ * @stability experimental
81
+ * @summary Method to export secrets from secrets manager to a dot env format
82
+ */
83
+ exportToDotEnv() {
84
+ let nconf = require('nconf');
85
+ nconf.argv().env();
86
+ const appRoot = require('app-root-path');
87
+ if (nconf.get('profile')) {
88
+ console.log(`Using named aws profile ${nconf.get('profile')}`);
89
+ AWS.config.credentials = new AWS.SharedIniFileCredentials({ profile: nconf.get('profile') });
90
+ }
91
+ const region = nconf.get('region');
92
+ AWS.config.update({ region: nconf.get('region') });
93
+ const outFileName = nconf.get('out') ? nconf.get('out') : '.env';
94
+ this.loadSecret(nconf.get('name'), region).then((secretString) => {
95
+ if (nconf.get('overwrite')) {
96
+ fs.writeFileSync(`${appRoot.path}/.env`, '');
97
+ }
98
+ Object.keys(secretString).forEach(function (key) {
99
+ console.log(`Adding environment variable for key: ${key}`);
100
+ fs.appendFileSync(`${appRoot.path}/${outFileName}`, `${key}=${secretString[key]}\r\n`);
101
+ });
102
+ });
103
+ }
104
+ /**
105
+ * @stability stable
106
+ * @summary Method to retrieve a secret from secrets manager with a cloudformation export
107
+ * @param id
108
+ * @param scope
109
+ * @param stackName
110
+ * @param exportName
111
+ */
112
+ retrieveSecretFromSecretsManager(id, scope, stackName, exportName) {
113
+ return secretsManager.Secret.fromSecretNameV2(scope, `${id}`, cdk.Fn.importValue(`${stackName}-${scope.props.stage}-${exportName}`));
114
+ }
115
+ }
116
+ exports.SecretsManager = SecretsManager;
117
+ //# sourceMappingURL=secrets-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets-manager.js","sourceRoot":"","sources":["../../../../../src/lib/manager/aws/secrets-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,+EAAgE;AAGhE,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;AAC9B,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAExB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,cAAc;IACzB;;;OAGG;IACI,oBAAoB,CAAC,MAAc;QACxC,OAAO,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACnD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CAAC,UAAkB,EAAE,MAAc;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;QACxD,MAAM,MAAM,GAAQ,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAE1G,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IACzD,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,MAAc;QAC1D,IAAI,OAAO,GAAG,EAAE,CAAA;QAChB,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAC/C,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,EAAE,CAAA;SACzE;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;OAGG;IACI,cAAc;QACnB,IAAI,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC5B,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAA;QAClB,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;QAExC,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACxB,OAAO,CAAC,GAAG,CAAC,2BAA2B,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;YAC9D,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;SAC7F;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAClC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAElD,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;QAEhE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,YAAiB,EAAE,EAAE;YACpE,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE;gBAC1B,EAAE,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAA;aAC7C;YAED,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG;gBAC7C,OAAO,CAAC,GAAG,CAAC,wCAAwC,GAAG,EAAE,CAAC,CAAA;gBAC1D,EAAE,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,WAAW,EAAE,EAAE,GAAG,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;YACxF,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;;;;;OAOG;IACI,gCAAgC,CACrC,EAAU,EACV,KAA6B,EAC7B,SAAiB,EACjB,UAAkB;QAElB,OAAO,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAC3C,KAAK,EACL,GAAG,EAAE,EAAE,EACP,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,UAAU,EAAE,CAAC,CACtE,CAAA;IACH,CAAC;CACF;AAxFD,wCAwFC"}