@gradientedge/cdk-utils 4.4.1 → 4.4.5

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 (406) hide show
  1. package/README.md +2 -6
  2. package/app/api-destined-function/package.json +0 -1
  3. package/lerna.json +6 -0
  4. package/package.json +15 -16
  5. package/src/lib/common/construct.ts +2 -1
  6. package/src/lib/common/stack.ts +2 -1
  7. package/src/lib/construct/api-to-eventbridge-target/api-destination-event.ts +2 -1
  8. package/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.ts +2 -1
  9. package/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.ts +2 -1
  10. package/src/lib/construct/api-to-eventbridge-target/main.ts +2 -1
  11. package/src/lib/construct/graphql-api-lambda/main.ts +2 -1
  12. package/src/lib/construct/site-with-ecs-backend/main.ts +2 -1
  13. package/src/lib/construct/static-site/main.ts +2 -1
  14. package/src/lib/manager/aws/acm-manager.ts +2 -1
  15. package/src/lib/manager/aws/api-manager.ts +2 -1
  16. package/src/lib/manager/aws/app-config-manager.ts +4 -2
  17. package/src/lib/manager/aws/cloudfront-manager.ts +2 -1
  18. package/src/lib/manager/aws/cloudtrail-manager.ts +2 -1
  19. package/src/lib/manager/aws/cloudwatch-manager.ts +4 -2
  20. package/src/lib/manager/aws/codebuild-manager.ts +2 -1
  21. package/src/lib/manager/aws/dynamodb-manager.ts +2 -1
  22. package/src/lib/manager/aws/ecr-manager.ts +2 -1
  23. package/src/lib/manager/aws/ecs-manager.ts +2 -1
  24. package/src/lib/manager/aws/eks-manager.ts +2 -1
  25. package/src/lib/manager/aws/event-manager.ts +2 -1
  26. package/src/lib/manager/aws/iam-manager.ts +2 -1
  27. package/src/lib/manager/aws/lambda-manager.ts +2 -1
  28. package/src/lib/manager/aws/log-manager.ts +2 -1
  29. package/src/lib/manager/aws/route53-manager.ts +2 -1
  30. package/src/lib/manager/aws/s3-manager.ts +2 -1
  31. package/src/lib/manager/aws/secrets-manager.ts +2 -1
  32. package/src/lib/manager/aws/sns-manager.ts +2 -1
  33. package/src/lib/manager/aws/ssm-manager.ts +4 -2
  34. package/src/lib/manager/aws/vpc-manager.ts +4 -2
  35. package/src/lib/manager/aws/waf-manager.ts +2 -1
  36. package/src/lib/types/aws/index.ts +98 -47
  37. package/src/lib/utils/aws/index.ts +1 -1
  38. package/src/lib/utils/index.ts +8 -9
  39. package/api-docs/AcmManager.html +0 -619
  40. package/api-docs/AcmProps.html +0 -235
  41. package/api-docs/AlarmProps.html +0 -235
  42. package/api-docs/AlarmStatusWidgetProps.html +0 -235
  43. package/api-docs/ApiDestinationEvent.html +0 -294
  44. package/api-docs/ApiDestinationEventType.html +0 -235
  45. package/api-docs/ApiDestinedLambda.html +0 -294
  46. package/api-docs/ApiDestinedLambdaEnvironment.html +0 -235
  47. package/api-docs/ApiDestinedLambdaType.html +0 -235
  48. package/api-docs/ApiDestinedRestApi.html +0 -294
  49. package/api-docs/ApiDestinedRestApiType.html +0 -235
  50. package/api-docs/ApiManager.html +0 -763
  51. package/api-docs/ApiToEventBridgeTarget.html +0 -1874
  52. package/api-docs/ApiToEventBridgeTarget.jpg +0 -0
  53. package/api-docs/ApiToEventBridgeTargetEventProps.html +0 -235
  54. package/api-docs/ApiToEventBridgeTargetLambdaProps.html +0 -235
  55. package/api-docs/ApiToEventBridgeTargetProps.html +0 -235
  56. package/api-docs/AppConfigManager.html +0 -1200
  57. package/api-docs/AppConfigProps.html +0 -235
  58. package/api-docs/CloudFrontManager.html +0 -2399
  59. package/api-docs/CloudFrontProps.html +0 -235
  60. package/api-docs/CloudTrailManager.html +0 -634
  61. package/api-docs/CloudTrailProps.html +0 -235
  62. package/api-docs/CloudWatchManager.html +0 -2983
  63. package/api-docs/CloudfrontFunctionProps.html +0 -235
  64. package/api-docs/CodeBuildManager.html +0 -733
  65. package/api-docs/CommonConstruct.html +0 -1296
  66. package/api-docs/CommonStack.html +0 -810
  67. package/api-docs/CommonStackProps.html +0 -235
  68. package/api-docs/DashboardProps.html +0 -235
  69. package/api-docs/DistributionProps.html +0 -235
  70. package/api-docs/DynamodbManager.html +0 -527
  71. package/api-docs/EcrManager.html +0 -527
  72. package/api-docs/EcsClusterProps.html +0 -235
  73. package/api-docs/EcsManager.html +0 -877
  74. package/api-docs/EcsTaskProps.html +0 -235
  75. package/api-docs/EksClusterProps.html +0 -235
  76. package/api-docs/EksManager.html +0 -577
  77. package/api-docs/EventBusProps.html +0 -235
  78. package/api-docs/EventManager.html +0 -1451
  79. package/api-docs/EventRuleProps.html +0 -235
  80. package/api-docs/GraphQLApiLambda.html +0 -1668
  81. package/api-docs/GraphQLApiLambda.jpg +0 -0
  82. package/api-docs/GraphQlApiLambdaEnvironment.html +0 -235
  83. package/api-docs/GraphQlApiLambdaProps.html +0 -235
  84. package/api-docs/GraphWidgetProps.html +0 -235
  85. package/api-docs/HealthCheck.html +0 -235
  86. package/api-docs/IamManager.html +0 -3818
  87. package/api-docs/LambdaEdgeProps.html +0 -235
  88. package/api-docs/LambdaEnvironment.html +0 -235
  89. package/api-docs/LambdaManager.html +0 -2375
  90. package/api-docs/LambdaProps.html +0 -235
  91. package/api-docs/LogManager.html +0 -952
  92. package/api-docs/LogProps.html +0 -235
  93. package/api-docs/LogQueryWidgetProps.html +0 -235
  94. package/api-docs/MetricFilterProps.html +0 -235
  95. package/api-docs/MetricProps.html +0 -235
  96. package/api-docs/NumericWidgetProps.html +0 -235
  97. package/api-docs/Route53Manager.html +0 -1457
  98. package/api-docs/Route53Props.html +0 -235
  99. package/api-docs/RuleProps.html +0 -235
  100. package/api-docs/S3BucketProps.html +0 -235
  101. package/api-docs/S3Manager.html +0 -1543
  102. package/api-docs/SSMParameterReader.html +0 -428
  103. package/api-docs/SSMParameterReaderProps.html +0 -235
  104. package/api-docs/SecretsManager.html +0 -1137
  105. package/api-docs/SiteWithEcsBackend.html +0 -2388
  106. package/api-docs/SiteWithEcsBackendProps.html +0 -235
  107. package/api-docs/SnsManager.html +0 -777
  108. package/api-docs/SsmManager.html +0 -952
  109. package/api-docs/StaticSite.html +0 -1355
  110. package/api-docs/StaticSiteProps.html +0 -235
  111. package/api-docs/SubscriptionProps.html +0 -235
  112. package/api-docs/TableProps.html +0 -235
  113. package/api-docs/TextWidgetProps.html +0 -235
  114. package/api-docs/VpcManager.html +0 -983
  115. package/api-docs/WafIPSetProps.html +0 -235
  116. package/api-docs/WafManager.html +0 -727
  117. package/api-docs/WafWebACLProps.html +0 -235
  118. package/api-docs/common_construct.ts.html +0 -275
  119. package/api-docs/common_stack.ts.html +0 -299
  120. package/api-docs/construct_api-to-eventbridge-target_api-destination-event.ts.html +0 -171
  121. package/api-docs/construct_api-to-eventbridge-target_api-destined-lambda.ts.html +0 -174
  122. package/api-docs/construct_api-to-eventbridge-target_api-destined-rest-api.ts.html +0 -186
  123. package/api-docs/construct_api-to-eventbridge-target_main.ts.html +0 -747
  124. package/api-docs/construct_graphql-api-lambda_main.ts.html +0 -404
  125. package/api-docs/construct_site-with-ecs-backend_main.ts.html +0 -540
  126. package/api-docs/construct_static-site_main.ts.html +0 -370
  127. package/api-docs/global.html +0 -1527
  128. package/api-docs/index.html +0 -207
  129. package/api-docs/manager_aws_acm-manager.ts.html +0 -232
  130. package/api-docs/manager_aws_api-manager.ts.html +0 -256
  131. package/api-docs/manager_aws_app-config-manager.ts.html +0 -305
  132. package/api-docs/manager_aws_cloudfront-manager.ts.html +0 -487
  133. package/api-docs/manager_aws_cloudtrail-manager.ts.html +0 -247
  134. package/api-docs/manager_aws_cloudwatch-manager.ts.html +0 -548
  135. package/api-docs/manager_aws_codebuild-manager.ts.html +0 -236
  136. package/api-docs/manager_aws_dynamodb-manager.ts.html +0 -215
  137. package/api-docs/manager_aws_ecr-manager.ts.html +0 -195
  138. package/api-docs/manager_aws_ecs-manager.ts.html +0 -255
  139. package/api-docs/manager_aws_eks-manager.ts.html +0 -256
  140. package/api-docs/manager_aws_event-manager.ts.html +0 -332
  141. package/api-docs/manager_aws_iam-manager.ts.html +0 -569
  142. package/api-docs/manager_aws_lambda-manager.ts.html +0 -396
  143. package/api-docs/manager_aws_log-manager.ts.html +0 -255
  144. package/api-docs/manager_aws_route53-manager.ts.html +0 -329
  145. package/api-docs/manager_aws_s3-manager.ts.html +0 -357
  146. package/api-docs/manager_aws_secrets-manager.ts.html +0 -270
  147. package/api-docs/manager_aws_sns-manager.ts.html +0 -242
  148. package/api-docs/manager_aws_ssm-manager.ts.html +0 -268
  149. package/api-docs/manager_aws_vpc-manager.ts.html +0 -239
  150. package/api-docs/manager_aws_waf-manager.ts.html +0 -228
  151. package/api-docs/scripts/app.min.js +0 -1
  152. package/api-docs/scripts/linenumber.js +0 -26
  153. package/api-docs/scripts/search.js +0 -39
  154. package/api-docs/styles/app.min.css +0 -1
  155. package/api-docs/styles/iframe.css +0 -13
  156. package/api-docs/styles/prettify-jsdoc.css +0 -111
  157. package/api-docs/styles/prettify-tomorrow.css +0 -132
  158. package/api-docs/styles/reset.css +0 -44
  159. package/api-docs/tutorial-Architecture.html +0 -147
  160. package/api-docs/tutorial-Build.html +0 -146
  161. package/api-docs/tutorial-CI-CD.html +0 -150
  162. package/api-docs/tutorial-Development.html +0 -223
  163. package/api-docs/types_aws_index.ts.html +0 -611
  164. package/api-docs/utils_aws_index.ts.html +0 -189
  165. package/api-docs/utils_index.ts.html +0 -225
  166. package/app/api-destined-function/node_modules/uuid/dist/bin/uuid +0 -2
  167. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/index.js +0 -9
  168. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/md5.js +0 -215
  169. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/nil.js +0 -1
  170. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/parse.js +0 -35
  171. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/regex.js +0 -1
  172. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/rng.js +0 -19
  173. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/sha1.js +0 -96
  174. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/stringify.js +0 -30
  175. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v1.js +0 -95
  176. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v3.js +0 -4
  177. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v35.js +0 -64
  178. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v4.js +0 -24
  179. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v5.js +0 -4
  180. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/validate.js +0 -7
  181. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/version.js +0 -11
  182. package/app/api-destined-function/node_modules/uuid/dist/esm-node/index.js +0 -9
  183. package/app/api-destined-function/node_modules/uuid/dist/esm-node/md5.js +0 -13
  184. package/app/api-destined-function/node_modules/uuid/dist/esm-node/nil.js +0 -1
  185. package/app/api-destined-function/node_modules/uuid/dist/esm-node/parse.js +0 -35
  186. package/app/api-destined-function/node_modules/uuid/dist/esm-node/regex.js +0 -1
  187. package/app/api-destined-function/node_modules/uuid/dist/esm-node/rng.js +0 -12
  188. package/app/api-destined-function/node_modules/uuid/dist/esm-node/sha1.js +0 -13
  189. package/app/api-destined-function/node_modules/uuid/dist/esm-node/stringify.js +0 -29
  190. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v1.js +0 -95
  191. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v3.js +0 -4
  192. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v35.js +0 -64
  193. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v4.js +0 -24
  194. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v5.js +0 -4
  195. package/app/api-destined-function/node_modules/uuid/dist/esm-node/validate.js +0 -7
  196. package/app/api-destined-function/node_modules/uuid/dist/esm-node/version.js +0 -11
  197. package/app/api-destined-function/node_modules/uuid/dist/index.js +0 -79
  198. package/app/api-destined-function/node_modules/uuid/dist/md5-browser.js +0 -223
  199. package/app/api-destined-function/node_modules/uuid/dist/md5.js +0 -23
  200. package/app/api-destined-function/node_modules/uuid/dist/nil.js +0 -8
  201. package/app/api-destined-function/node_modules/uuid/dist/parse.js +0 -45
  202. package/app/api-destined-function/node_modules/uuid/dist/regex.js +0 -8
  203. package/app/api-destined-function/node_modules/uuid/dist/rng-browser.js +0 -26
  204. package/app/api-destined-function/node_modules/uuid/dist/rng.js +0 -24
  205. package/app/api-destined-function/node_modules/uuid/dist/sha1-browser.js +0 -104
  206. package/app/api-destined-function/node_modules/uuid/dist/sha1.js +0 -23
  207. package/app/api-destined-function/node_modules/uuid/dist/stringify.js +0 -39
  208. package/app/api-destined-function/node_modules/uuid/dist/umd/uuid.min.js +0 -1
  209. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidNIL.min.js +0 -1
  210. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidParse.min.js +0 -1
  211. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidStringify.min.js +0 -1
  212. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidValidate.min.js +0 -1
  213. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidVersion.min.js +0 -1
  214. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv1.min.js +0 -1
  215. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv3.min.js +0 -1
  216. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv4.min.js +0 -1
  217. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv5.min.js +0 -1
  218. package/app/api-destined-function/node_modules/uuid/dist/uuid-bin.js +0 -85
  219. package/app/api-destined-function/node_modules/uuid/dist/v1.js +0 -107
  220. package/app/api-destined-function/node_modules/uuid/dist/v3.js +0 -16
  221. package/app/api-destined-function/node_modules/uuid/dist/v35.js +0 -78
  222. package/app/api-destined-function/node_modules/uuid/dist/v4.js +0 -37
  223. package/app/api-destined-function/node_modules/uuid/dist/v5.js +0 -16
  224. package/app/api-destined-function/node_modules/uuid/dist/validate.js +0 -17
  225. package/app/api-destined-function/node_modules/uuid/dist/version.js +0 -21
  226. package/dist/app/api-destined-function/src/lib/lambda.d.ts +0 -19
  227. package/dist/app/api-destined-function/src/lib/lambda.d.ts.map +0 -1
  228. package/dist/app/api-destined-function/src/lib/lambda.js +0 -34
  229. package/dist/app/api-destined-function/src/lib/lambda.js.map +0 -1
  230. package/dist/index.d.ts +0 -6
  231. package/dist/index.d.ts.map +0 -1
  232. package/dist/index.js.map +0 -1
  233. package/dist/src/lib/common/construct.d.ts +0 -79
  234. package/dist/src/lib/common/construct.d.ts.map +0 -1
  235. package/dist/src/lib/common/construct.js +0 -133
  236. package/dist/src/lib/common/construct.js.map +0 -1
  237. package/dist/src/lib/common/index.d.ts +0 -3
  238. package/dist/src/lib/common/index.d.ts.map +0 -1
  239. package/dist/src/lib/common/index.js +0 -15
  240. package/dist/src/lib/common/index.js.map +0 -1
  241. package/dist/src/lib/common/stack.d.ts +0 -54
  242. package/dist/src/lib/common/stack.d.ts.map +0 -1
  243. package/dist/src/lib/common/stack.js +0 -147
  244. package/dist/src/lib/common/stack.js.map +0 -1
  245. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.d.ts +0 -16
  246. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.d.ts.map +0 -1
  247. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.js +0 -17
  248. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.js.map +0 -1
  249. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.d.ts +0 -19
  250. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.d.ts.map +0 -1
  251. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.js +0 -19
  252. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.js.map +0 -1
  253. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.d.ts +0 -35
  254. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.d.ts.map +0 -1
  255. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.js +0 -29
  256. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.js.map +0 -1
  257. package/dist/src/lib/construct/api-to-eventbridge-target/index.d.ts +0 -5
  258. package/dist/src/lib/construct/api-to-eventbridge-target/index.d.ts.map +0 -1
  259. package/dist/src/lib/construct/api-to-eventbridge-target/index.js +0 -17
  260. package/dist/src/lib/construct/api-to-eventbridge-target/index.js.map +0 -1
  261. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts +0 -134
  262. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts.map +0 -1
  263. package/dist/src/lib/construct/api-to-eventbridge-target/main.js +0 -487
  264. package/dist/src/lib/construct/api-to-eventbridge-target/main.js.map +0 -1
  265. package/dist/src/lib/construct/graphql-api-lambda/index.d.ts +0 -2
  266. package/dist/src/lib/construct/graphql-api-lambda/index.d.ts.map +0 -1
  267. package/dist/src/lib/construct/graphql-api-lambda/index.js +0 -14
  268. package/dist/src/lib/construct/graphql-api-lambda/index.js.map +0 -1
  269. package/dist/src/lib/construct/graphql-api-lambda/main.d.ts +0 -112
  270. package/dist/src/lib/construct/graphql-api-lambda/main.d.ts.map +0 -1
  271. package/dist/src/lib/construct/graphql-api-lambda/main.js +0 -201
  272. package/dist/src/lib/construct/graphql-api-lambda/main.js.map +0 -1
  273. package/dist/src/lib/construct/index.d.ts +0 -5
  274. package/dist/src/lib/construct/index.d.ts.map +0 -1
  275. package/dist/src/lib/construct/index.js +0 -17
  276. package/dist/src/lib/construct/index.js.map +0 -1
  277. package/dist/src/lib/construct/site-with-ecs-backend/index.d.ts +0 -2
  278. package/dist/src/lib/construct/site-with-ecs-backend/index.d.ts.map +0 -1
  279. package/dist/src/lib/construct/site-with-ecs-backend/index.js +0 -14
  280. package/dist/src/lib/construct/site-with-ecs-backend/index.js.map +0 -1
  281. package/dist/src/lib/construct/site-with-ecs-backend/main.d.ts +0 -167
  282. package/dist/src/lib/construct/site-with-ecs-backend/main.d.ts.map +0 -1
  283. package/dist/src/lib/construct/site-with-ecs-backend/main.js +0 -327
  284. package/dist/src/lib/construct/site-with-ecs-backend/main.js.map +0 -1
  285. package/dist/src/lib/construct/static-site/index.d.ts +0 -2
  286. package/dist/src/lib/construct/static-site/index.d.ts.map +0 -1
  287. package/dist/src/lib/construct/static-site/index.js +0 -14
  288. package/dist/src/lib/construct/static-site/index.js.map +0 -1
  289. package/dist/src/lib/construct/static-site/main.d.ts +0 -94
  290. package/dist/src/lib/construct/static-site/main.d.ts.map +0 -1
  291. package/dist/src/lib/construct/static-site/main.js +0 -168
  292. package/dist/src/lib/construct/static-site/main.js.map +0 -1
  293. package/dist/src/lib/manager/aws/acm-manager.d.ts +0 -46
  294. package/dist/src/lib/manager/aws/acm-manager.d.ts.map +0 -1
  295. package/dist/src/lib/manager/aws/acm-manager.js +0 -90
  296. package/dist/src/lib/manager/aws/acm-manager.js.map +0 -1
  297. package/dist/src/lib/manager/aws/api-manager.d.ts +0 -43
  298. package/dist/src/lib/manager/aws/api-manager.d.ts.map +0 -1
  299. package/dist/src/lib/manager/aws/api-manager.js +0 -111
  300. package/dist/src/lib/manager/aws/api-manager.js.map +0 -1
  301. package/dist/src/lib/manager/aws/app-config-manager.d.ts +0 -64
  302. package/dist/src/lib/manager/aws/app-config-manager.d.ts.map +0 -1
  303. package/dist/src/lib/manager/aws/app-config-manager.js +0 -147
  304. package/dist/src/lib/manager/aws/app-config-manager.js.map +0 -1
  305. package/dist/src/lib/manager/aws/cloudfront-manager.d.ts +0 -112
  306. package/dist/src/lib/manager/aws/cloudfront-manager.d.ts.map +0 -1
  307. package/dist/src/lib/manager/aws/cloudfront-manager.js +0 -282
  308. package/dist/src/lib/manager/aws/cloudfront-manager.js.map +0 -1
  309. package/dist/src/lib/manager/aws/cloudtrail-manager.d.ts +0 -48
  310. package/dist/src/lib/manager/aws/cloudtrail-manager.d.ts.map +0 -1
  311. package/dist/src/lib/manager/aws/cloudtrail-manager.js +0 -99
  312. package/dist/src/lib/manager/aws/cloudtrail-manager.js.map +0 -1
  313. package/dist/src/lib/manager/aws/cloudwatch-manager.d.ts +0 -121
  314. package/dist/src/lib/manager/aws/cloudwatch-manager.d.ts.map +0 -1
  315. package/dist/src/lib/manager/aws/cloudwatch-manager.js +0 -351
  316. package/dist/src/lib/manager/aws/cloudwatch-manager.js.map +0 -1
  317. package/dist/src/lib/manager/aws/codebuild-manager.d.ts +0 -40
  318. package/dist/src/lib/manager/aws/codebuild-manager.d.ts.map +0 -1
  319. package/dist/src/lib/manager/aws/codebuild-manager.js +0 -94
  320. package/dist/src/lib/manager/aws/codebuild-manager.js.map +0 -1
  321. package/dist/src/lib/manager/aws/dynamodb-manager.d.ts +0 -32
  322. package/dist/src/lib/manager/aws/dynamodb-manager.d.ts.map +0 -1
  323. package/dist/src/lib/manager/aws/dynamodb-manager.js +0 -79
  324. package/dist/src/lib/manager/aws/dynamodb-manager.js.map +0 -1
  325. package/dist/src/lib/manager/aws/ecr-manager.d.ts +0 -31
  326. package/dist/src/lib/manager/aws/ecr-manager.d.ts.map +0 -1
  327. package/dist/src/lib/manager/aws/ecr-manager.js +0 -60
  328. package/dist/src/lib/manager/aws/ecr-manager.js.map +0 -1
  329. package/dist/src/lib/manager/aws/ecs-manager.d.ts +0 -48
  330. package/dist/src/lib/manager/aws/ecs-manager.d.ts.map +0 -1
  331. package/dist/src/lib/manager/aws/ecs-manager.js +0 -103
  332. package/dist/src/lib/manager/aws/ecs-manager.js.map +0 -1
  333. package/dist/src/lib/manager/aws/eks-manager.d.ts +0 -36
  334. package/dist/src/lib/manager/aws/eks-manager.d.ts.map +0 -1
  335. package/dist/src/lib/manager/aws/eks-manager.js +0 -109
  336. package/dist/src/lib/manager/aws/eks-manager.js.map +0 -1
  337. package/dist/src/lib/manager/aws/event-manager.d.ts +0 -67
  338. package/dist/src/lib/manager/aws/event-manager.d.ts.map +0 -1
  339. package/dist/src/lib/manager/aws/event-manager.js +0 -162
  340. package/dist/src/lib/manager/aws/event-manager.js.map +0 -1
  341. package/dist/src/lib/manager/aws/iam-manager.d.ts +0 -154
  342. package/dist/src/lib/manager/aws/iam-manager.d.ts.map +0 -1
  343. package/dist/src/lib/manager/aws/iam-manager.js +0 -380
  344. package/dist/src/lib/manager/aws/iam-manager.js.map +0 -1
  345. package/dist/src/lib/manager/aws/index.d.ts +0 -23
  346. package/dist/src/lib/manager/aws/index.d.ts.map +0 -1
  347. package/dist/src/lib/manager/aws/index.js +0 -35
  348. package/dist/src/lib/manager/aws/index.js.map +0 -1
  349. package/dist/src/lib/manager/aws/lambda-manager.d.ts +0 -94
  350. package/dist/src/lib/manager/aws/lambda-manager.d.ts.map +0 -1
  351. package/dist/src/lib/manager/aws/lambda-manager.js +0 -196
  352. package/dist/src/lib/manager/aws/lambda-manager.js.map +0 -1
  353. package/dist/src/lib/manager/aws/log-manager.d.ts +0 -51
  354. package/dist/src/lib/manager/aws/log-manager.d.ts.map +0 -1
  355. package/dist/src/lib/manager/aws/log-manager.js +0 -108
  356. package/dist/src/lib/manager/aws/log-manager.js.map +0 -1
  357. package/dist/src/lib/manager/aws/route53-manager.d.ts +0 -68
  358. package/dist/src/lib/manager/aws/route53-manager.d.ts.map +0 -1
  359. package/dist/src/lib/manager/aws/route53-manager.js +0 -158
  360. package/dist/src/lib/manager/aws/route53-manager.js.map +0 -1
  361. package/dist/src/lib/manager/aws/s3-manager.d.ts +0 -73
  362. package/dist/src/lib/manager/aws/s3-manager.d.ts.map +0 -1
  363. package/dist/src/lib/manager/aws/s3-manager.js +0 -202
  364. package/dist/src/lib/manager/aws/s3-manager.js.map +0 -1
  365. package/dist/src/lib/manager/aws/secrets-manager.d.ts +0 -57
  366. package/dist/src/lib/manager/aws/secrets-manager.d.ts.map +0 -1
  367. package/dist/src/lib/manager/aws/secrets-manager.js +0 -116
  368. package/dist/src/lib/manager/aws/secrets-manager.js.map +0 -1
  369. package/dist/src/lib/manager/aws/sns-manager.d.ts +0 -42
  370. package/dist/src/lib/manager/aws/sns-manager.d.ts.map +0 -1
  371. package/dist/src/lib/manager/aws/sns-manager.js +0 -90
  372. package/dist/src/lib/manager/aws/sns-manager.js.map +0 -1
  373. package/dist/src/lib/manager/aws/ssm-manager.d.ts +0 -59
  374. package/dist/src/lib/manager/aws/ssm-manager.d.ts.map +0 -1
  375. package/dist/src/lib/manager/aws/ssm-manager.js +0 -123
  376. package/dist/src/lib/manager/aws/ssm-manager.js.map +0 -1
  377. package/dist/src/lib/manager/aws/vpc-manager.d.ts +0 -45
  378. package/dist/src/lib/manager/aws/vpc-manager.d.ts.map +0 -1
  379. package/dist/src/lib/manager/aws/vpc-manager.js +0 -93
  380. package/dist/src/lib/manager/aws/vpc-manager.js.map +0 -1
  381. package/dist/src/lib/manager/aws/waf-manager.d.ts +0 -39
  382. package/dist/src/lib/manager/aws/waf-manager.d.ts.map +0 -1
  383. package/dist/src/lib/manager/aws/waf-manager.js +0 -89
  384. package/dist/src/lib/manager/aws/waf-manager.js.map +0 -1
  385. package/dist/src/lib/manager/index.d.ts +0 -2
  386. package/dist/src/lib/manager/index.d.ts.map +0 -1
  387. package/dist/src/lib/manager/index.js +0 -14
  388. package/dist/src/lib/manager/index.js.map +0 -1
  389. package/dist/src/lib/types/aws/index.d.ts +0 -429
  390. package/dist/src/lib/types/aws/index.d.ts.map +0 -1
  391. package/dist/src/lib/types/aws/index.js +0 -3
  392. package/dist/src/lib/types/aws/index.js.map +0 -1
  393. package/dist/src/lib/types/index.d.ts +0 -2
  394. package/dist/src/lib/types/index.d.ts.map +0 -1
  395. package/dist/src/lib/types/index.js +0 -14
  396. package/dist/src/lib/types/index.js.map +0 -1
  397. package/dist/src/lib/utils/aws/index.d.ts +0 -16
  398. package/dist/src/lib/utils/aws/index.d.ts.map +0 -1
  399. package/dist/src/lib/utils/aws/index.js +0 -50
  400. package/dist/src/lib/utils/aws/index.js.map +0 -1
  401. package/dist/src/lib/utils/index.d.ts +0 -64
  402. package/dist/src/lib/utils/index.d.ts.map +0 -1
  403. package/dist/src/lib/utils/index.js +0 -86
  404. package/dist/src/lib/utils/index.js.map +0 -1
  405. package/img/ApiToEventBridgeTarget.jpg +0 -0
  406. package/img/GraphQLApiLambda.jpg +0 -0
@@ -1,327 +0,0 @@
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.SiteWithEcsBackend = void 0;
23
- const cdk = __importStar(require("aws-cdk-lib"));
24
- const cloudfront = __importStar(require("aws-cdk-lib/aws-cloudfront"));
25
- const origins = __importStar(require("aws-cdk-lib/aws-cloudfront-origins"));
26
- const ecs = __importStar(require("aws-cdk-lib/aws-ecs"));
27
- const ecsPatterns = __importStar(require("aws-cdk-lib/aws-ecs-patterns"));
28
- const iam = __importStar(require("aws-cdk-lib/aws-iam"));
29
- const common_1 = require("../../common");
30
- /**
31
- * @stability stable
32
- * @category Constructs
33
- * @classdesc Provides a construct to create and deploy a site hosted with an clustered ECS/ELB backend
34
- *
35
- * @example
36
- * import { SiteWithEcsBackend, SiteWithEcsBackendProps } '@gradientedge/cdk-utils'
37
- * import { Construct } from 'constructs'
38
- *
39
- * class CustomConstruct extends SiteWithEcsBackend {
40
- * constructor(parent: Construct, id: string, props: SiteWithEcsBackendProps) {
41
- * super(parent, id, props)
42
- * this.props = props
43
- * this.id = id
44
- * this.initResources()
45
- * }
46
- * }
47
- */
48
- class SiteWithEcsBackend extends common_1.CommonConstruct {
49
- /* site properties */
50
- props;
51
- id;
52
- /* site resources */
53
- siteHostedZone;
54
- siteCertificate;
55
- siteEcsPolicy;
56
- siteEcsRole;
57
- siteEcsEnvironment;
58
- siteVpc;
59
- siteSecrets;
60
- siteEcsCluster;
61
- siteEcsLogGroup;
62
- siteEcsBuildArgs = {};
63
- siteEcsContainerImage;
64
- siteEcsService;
65
- siteEcsTaskDefinition;
66
- siteEcsListener;
67
- siteEcsLoadBalancer;
68
- siteEcsTargetGroup;
69
- siteLogBucket;
70
- siteOrigin;
71
- siteDistribution;
72
- siteSecretAlgolia;
73
- siteInternalDomainName;
74
- siteExternalDomainName;
75
- siteDomainNames;
76
- siteCloudfrontFunction;
77
- siteFunctionAssociations;
78
- constructor(parent, id, props) {
79
- super(parent, id, props);
80
- this.props = props;
81
- this.id = id;
82
- }
83
- /**
84
- * @summary Initialise and provision resources
85
- * @protected
86
- */
87
- initResources() {
88
- this.resolveHostedZone();
89
- this.resolveCertificate();
90
- this.resolveSiteSecrets();
91
- this.resolveSiteDomainNames();
92
- this.createVpc();
93
- this.createEcsPolicy();
94
- this.createEcsRole();
95
- this.createEcsEnvironment();
96
- this.createEcsCluster();
97
- this.createEcsLogGroup();
98
- this.createEcsBuildArgs();
99
- this.createEcsContainerImage();
100
- this.createEcsService();
101
- this.createSiteLogBucket();
102
- this.createSiteOrigin();
103
- this.createSiteCloudfrontFunction();
104
- this.resolveSiteFunctionAssociations();
105
- this.createDistribution();
106
- this.createNetworkMappings();
107
- this.invalidateDistributionCache();
108
- }
109
- /**
110
- * @summary Method to resolve a hosted zone based on domain attributes
111
- * @protected
112
- */
113
- resolveHostedZone() {
114
- this.siteHostedZone = this.route53Manager.withHostedZoneFromFullyQualifiedDomainName(`${this.id}-hosted-zone`, this, this.props.useExistingHostedZone);
115
- }
116
- /**
117
- * @summary Method to resolve a certificate based on attributes
118
- * @protected
119
- */
120
- resolveCertificate() {
121
- /* determine site certificate */
122
- if (this.props.siteCertificate.useExistingCertificate &&
123
- this.props.siteCertificate.certificateSsmName &&
124
- this.props.siteCertificate.certificateRegion) {
125
- this.props.siteCertificate.certificateArn = this.ssMManager.readStringParameterFromRegion(`${this.id}-certificate-parameter`, this, this.props.siteCertificate.certificateSsmName, this.props.siteCertificate.certificateRegion);
126
- }
127
- this.siteCertificate = this.acmManager.resolveCertificate(`${this.id}-certificate`, this, this.props.siteCertificate);
128
- }
129
- /**
130
- * @summary Method to resolve secrets from SecretsManager
131
- * - To be implemented in the overriding method in the implementation class
132
- * @protected
133
- */
134
- resolveSiteSecrets() { }
135
- /**
136
- * @summary Method to resolve site domain names
137
- * @protected
138
- */
139
- resolveSiteDomainNames() {
140
- /* the internal domain name used by ELB */
141
- this.siteInternalDomainName = this.isProductionStage()
142
- ? `${this.props.siteSubDomain}-internal.${this.fullyQualifiedDomainName}`
143
- : `${this.props.siteSubDomain}-internal-${this.props.stage}.${this.fullyQualifiedDomainName}`;
144
- /* the external domain name exposed to CloudFront */
145
- this.siteExternalDomainName = this.isProductionStage()
146
- ? `${this.props.siteSubDomain}.${this.fullyQualifiedDomainName}`
147
- : `${this.props.siteSubDomain}-${this.props.stage}.${this.fullyQualifiedDomainName}`;
148
- this.siteDomainNames = [this.siteExternalDomainName];
149
- }
150
- /**
151
- * Create VPC
152
- * @protected
153
- */
154
- createVpc() {
155
- this.siteVpc = this.vpcManager.createCommonVpc(this, this.props.siteVpc, this.props.siteVpc.vpcName);
156
- }
157
- /**
158
- * @summary Method to create iam policy for ECS Task
159
- * @protected
160
- */
161
- createEcsPolicy() {
162
- this.siteEcsPolicy = new iam.PolicyDocument({
163
- statements: [this.iamManager.statementForReadSecrets(this)],
164
- });
165
- }
166
- /**
167
- * @summary Method to create iam role for ECS Task
168
- * @protected
169
- */
170
- createEcsRole() {
171
- this.siteEcsRole = this.iamManager.createRoleForEcsExecution(`${this.id}-ecs-role`, this, this.siteEcsPolicy);
172
- }
173
- /**
174
- * @summary Method to create environment variables used by ECS task
175
- * @protected
176
- */
177
- createEcsEnvironment() {
178
- this.siteEcsEnvironment = {
179
- NODE_ENV: this.props.nodeEnv,
180
- LOG_LEVEL: this.props.logLevel,
181
- TZ: this.props.timezone,
182
- };
183
- }
184
- /**
185
- * Method to create an ECS cluster
186
- * @protected
187
- */
188
- createEcsCluster() {
189
- this.siteEcsCluster = this.ecsManager.createEcsCluster(`${this.id}-cluster`, this, this.props.siteCluster, this.siteVpc);
190
- }
191
- /**
192
- * Method to create log group used by ECS task
193
- * @protected
194
- */
195
- createEcsLogGroup() {
196
- this.siteEcsLogGroup = this.logManager.createLogGroup(`${this.id}-ecs-log-group`, this, this.props.siteLog);
197
- }
198
- /**
199
- * Method to create docker build arguments for ECS Image step
200
- * @protected
201
- */
202
- createEcsBuildArgs() {
203
- this.siteEcsBuildArgs = {};
204
- }
205
- /**
206
- * Method to create container image for ECS task
207
- * @protected
208
- */
209
- createEcsContainerImage() {
210
- this.siteEcsContainerImage = ecs.ContainerImage.fromAsset(this.props.siteEcsContainerImagePath, {
211
- buildArgs: this.siteEcsBuildArgs,
212
- });
213
- }
214
- /**
215
- * Method to create Application Loadbalanced ECS Fargate Service
216
- * @protected
217
- */
218
- createEcsService() {
219
- const fargateService = new ecsPatterns.ApplicationLoadBalancedFargateService(this, `${this.id}-ecs-service`, {
220
- cluster: this.siteEcsCluster,
221
- desiredCount: this.props.siteTask.desiredCount,
222
- enableECSManagedTags: true,
223
- serviceName: `${this.id}-${this.props.stage}`,
224
- cpu: this.props.siteTask.cpu,
225
- loadBalancerName: `${this.id}-${this.props.stage}`,
226
- domainName: this.siteInternalDomainName,
227
- domainZone: this.siteHostedZone,
228
- listenerPort: this.props.siteTask.listenerPort,
229
- memoryLimitMiB: this.props.siteTask.memoryLimitMiB,
230
- healthCheckGracePeriod: cdk.Duration.seconds(60),
231
- assignPublicIp: true,
232
- taskImageOptions: {
233
- enableLogging: true,
234
- logDriver: ecs.LogDriver.awsLogs({
235
- logGroup: this.siteEcsLogGroup,
236
- streamPrefix: `${this.id}-${this.props.stage}/ecs`,
237
- }),
238
- image: this.siteEcsContainerImage,
239
- executionRole: this.siteEcsRole,
240
- taskRole: this.siteEcsRole,
241
- containerPort: this.props.siteTask.taskImageOptions?.containerPort,
242
- environment: this.siteEcsEnvironment,
243
- secrets: this.siteSecrets,
244
- },
245
- });
246
- if (this.props.siteHealthCheck) {
247
- fargateService.targetGroup.configureHealthCheck({
248
- enabled: this.props.siteHealthCheck.enabled ?? true,
249
- path: this.props.siteHealthCheck.path ?? '/',
250
- port: this.props.siteHealthCheck.port,
251
- interval: cdk.Duration.seconds(this.props.siteHealthCheck.intervalInSecs),
252
- timeout: cdk.Duration.seconds(this.props.siteHealthCheck.timeoutInSecs),
253
- healthyThresholdCount: this.props.siteHealthCheck.healthyThresholdCount,
254
- unhealthyThresholdCount: this.props.siteHealthCheck.unhealthyThresholdCount,
255
- healthyGrpcCodes: this.props.siteHealthCheck.healthyGrpcCodes,
256
- healthyHttpCodes: this.props.siteHealthCheck.healthyHttpCodes,
257
- protocol: this.props.siteHealthCheck.protocol,
258
- });
259
- }
260
- this.siteEcsService = fargateService.service;
261
- this.siteEcsTaskDefinition = fargateService.taskDefinition;
262
- this.siteEcsListener = fargateService.listener;
263
- this.siteEcsLoadBalancer = fargateService.loadBalancer;
264
- this.siteEcsTargetGroup = fargateService.targetGroup;
265
- }
266
- /**
267
- * Method to create log bucket for site distribution
268
- * @protected
269
- */
270
- createSiteLogBucket() {
271
- this.siteLogBucket = this.s3Manager.createS3Bucket(`${this.id}-site-logs`, this, this.props.siteLogBucket);
272
- }
273
- createSiteOrigin() {
274
- this.siteOrigin = new origins.HttpOrigin(this.siteEcsLoadBalancer.loadBalancerDnsName, {
275
- httpPort: this.props.siteTask.listenerPort,
276
- protocolPolicy: cloudfront.OriginProtocolPolicy.HTTP_ONLY,
277
- });
278
- }
279
- /**
280
- * @summary Method to create a site cloudfront function
281
- * @protected
282
- */
283
- createSiteCloudfrontFunction() {
284
- if (this.props.siteCloudfrontFunctionProps) {
285
- this.siteCloudfrontFunction = this.cloudFrontManager.createCloudfrontFunction(`${this.id}-function`, this, this.props.siteCloudfrontFunctionProps);
286
- }
287
- }
288
- /**
289
- * @summary Method to create a site cloudfront function associations
290
- * @protected
291
- */
292
- resolveSiteFunctionAssociations() {
293
- if (this.props.siteCloudfrontFunctionProps) {
294
- this.siteFunctionAssociations = [
295
- {
296
- function: this.siteCloudfrontFunction,
297
- eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,
298
- },
299
- ];
300
- }
301
- }
302
- /**
303
- * Method to create Site distribution
304
- * @protected
305
- */
306
- createDistribution() {
307
- this.siteDistribution = this.cloudFrontManager.createDistributionWithHttpOrigin(`${this.id}-distribution`, this, this.props.siteDistribution, this.siteOrigin, this.siteDomainNames, this.siteLogBucket, this.siteCertificate, this.siteFunctionAssociations);
308
- }
309
- /**
310
- * Method to create Route53 records for distribution
311
- * @protected
312
- */
313
- createNetworkMappings() {
314
- this.route53Manager.createCloudFrontTargetARecord(`${this.id}-a-record`, this, this.siteDistribution, this.siteHostedZone, this.props.siteRecordName);
315
- }
316
- /**
317
- * Method to invalidation the cloudfront distribution cache after a deployment
318
- * @protected
319
- */
320
- invalidateDistributionCache() {
321
- if (this.props.siteCacheInvalidationDockerFilePath) {
322
- this.cloudFrontManager.invalidateCache(`${this.id}-cache-invalidation`, this, this.props.siteCacheInvalidationDockerFilePath, this.siteDistribution.distributionId);
323
- }
324
- }
325
- }
326
- exports.SiteWithEcsBackend = SiteWithEcsBackend;
327
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../src/lib/construct/site-with-ecs-backend/main.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from './main';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/lib/construct/static-site/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA"}
@@ -1,14 +0,0 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./main"), exports);
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/construct/static-site/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAsB"}
@@ -1,94 +0,0 @@
1
- import * as certificateManager from 'aws-cdk-lib/aws-certificatemanager';
2
- import * as cloudfront from 'aws-cdk-lib/aws-cloudfront';
3
- import * as origins from 'aws-cdk-lib/aws-cloudfront-origins';
4
- import * as route53 from 'aws-cdk-lib/aws-route53';
5
- import * as s3 from 'aws-cdk-lib/aws-s3';
6
- import { Construct } from 'constructs';
7
- import { CommonConstruct } from '../../common';
8
- import { StaticSiteProps } from '../../types';
9
- /**
10
- * @stability stable
11
- * @category Constructs
12
- * @classdesc Provides a construct to create and deploy a s3 hosted static site
13
- *
14
- * @example
15
- * import { StaticSite, StaticSiteProps } '@gradientedge/cdk-utils'
16
- * import { Construct } from 'constructs'
17
- *
18
- * class CustomConstruct extends StaticSite {
19
- * constructor(parent: Construct, id: string, props: StaticSiteProps) {
20
- * super(parent, id, props)
21
- * this.props = props
22
- * this.id = id
23
- * this.initResources()
24
- * }
25
- * }
26
- */
27
- export declare class StaticSite extends CommonConstruct {
28
- props: StaticSiteProps;
29
- id: string;
30
- siteHostedZone: route53.IHostedZone;
31
- siteCertificate: certificateManager.ICertificate;
32
- siteARecord: route53.ARecord;
33
- siteARecordAlt: route53.ARecord;
34
- siteBucket: s3.IBucket;
35
- siteOrigin: origins.S3Origin;
36
- siteDistribution: cloudfront.Distribution;
37
- siteLogBucket: s3.IBucket;
38
- siteOriginAccessIdentity: cloudfront.OriginAccessIdentity;
39
- siteCloudfrontFunction: cloudfront.Function;
40
- siteFunctionAssociations: cloudfront.FunctionAssociation[];
41
- constructor(parent: Construct, id: string, props: StaticSiteProps);
42
- /**
43
- * @summary Initialise and provision resources
44
- * @protected
45
- */
46
- protected initResources(): void;
47
- /**
48
- * @summary Method to resolve a hosted zone based on domain attributes
49
- * @protected
50
- */
51
- protected resolveHostedZone(): void;
52
- /**
53
- * @summary Method to resolve a certificate based on attributes
54
- * @protected
55
- */
56
- protected resolveCertificate(): void;
57
- /**
58
- * @summary Method to create a site log bucket
59
- * @protected
60
- */
61
- protected createSiteLogBucket(): void;
62
- /**
63
- * @summary Method to create a site bucket
64
- * @protected
65
- */
66
- protected createSiteBucket(): void;
67
- protected createSiteOrigin(): void;
68
- /**
69
- * @summary Method to create a site cloudfront function
70
- * @protected
71
- */
72
- protected createSiteCloudfrontFunction(): void;
73
- /**
74
- * @summary Method to create a site cloudfront function associations
75
- * @protected
76
- */
77
- protected resolveSiteFunctionAssociations(): void;
78
- /**
79
- * @summary Method to create a site cloudfront distribution
80
- * @protected
81
- */
82
- protected createSiteDistribution(): void;
83
- /**
84
- * @summary Method to create route53 records for static site
85
- * @protected
86
- */
87
- protected createSiteRouteAssets(): void;
88
- /**
89
- * @summary Method to deploy the static assets into s3 bucket for static site
90
- * @protected
91
- */
92
- protected deploySite(): void;
93
- }
94
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../../src/lib/construct/static-site/main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,kBAAkB,MAAM,oCAAoC,CAAA;AACxE,OAAO,KAAK,UAAU,MAAM,4BAA4B,CAAA;AACxD,OAAO,KAAK,OAAO,MAAM,oCAAoC,CAAA;AAC7D,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAA;AAClD,OAAO,KAAK,EAAE,MAAM,oBAAoB,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,UAAW,SAAQ,eAAe;IAE7C,KAAK,EAAE,eAAe,CAAA;IACtB,EAAE,EAAE,MAAM,CAAA;IAGV,cAAc,EAAE,OAAO,CAAC,WAAW,CAAA;IACnC,eAAe,EAAE,kBAAkB,CAAC,YAAY,CAAA;IAChD,WAAW,EAAE,OAAO,CAAC,OAAO,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAC,OAAO,CAAA;IAC/B,UAAU,EAAE,EAAE,CAAC,OAAO,CAAA;IACtB,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAA;IAC5B,gBAAgB,EAAE,UAAU,CAAC,YAAY,CAAA;IACzC,aAAa,EAAE,EAAE,CAAC,OAAO,CAAA;IACzB,wBAAwB,EAAE,UAAU,CAAC,oBAAoB,CAAA;IACzD,sBAAsB,EAAE,UAAU,CAAC,QAAQ,CAAA;IAC3C,wBAAwB,EAAE,UAAU,CAAC,mBAAmB,EAAE,CAAA;gBAE9C,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;IAOjE;;;OAGG;IACH,SAAS,CAAC,aAAa;IAavB;;;OAGG;IACH,SAAS,CAAC,iBAAiB;IAQ3B;;;OAGG;IACH,SAAS,CAAC,kBAAkB;IAoB5B;;;OAGG;IACH,SAAS,CAAC,mBAAmB;IAI7B;;;OAGG;IACH,SAAS,CAAC,gBAAgB;IAI1B,SAAS,CAAC,gBAAgB;IAI1B;;;OAGG;IACH,SAAS,CAAC,4BAA4B;IAUtC;;;OAGG;IACH,SAAS,CAAC,+BAA+B;IAWzC;;;OAGG;IACH,SAAS,CAAC,sBAAsB;IAiBhC;;;OAGG;IACH,SAAS,CAAC,qBAAqB;IAoB/B;;;OAGG;IACH,SAAS,CAAC,UAAU;CAWrB"}
@@ -1,168 +0,0 @@
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.StaticSite = void 0;
23
- const cloudfront = __importStar(require("aws-cdk-lib/aws-cloudfront"));
24
- const origins = __importStar(require("aws-cdk-lib/aws-cloudfront-origins"));
25
- const common_1 = require("../../common");
26
- /**
27
- * @stability stable
28
- * @category Constructs
29
- * @classdesc Provides a construct to create and deploy a s3 hosted static site
30
- *
31
- * @example
32
- * import { StaticSite, StaticSiteProps } '@gradientedge/cdk-utils'
33
- * import { Construct } from 'constructs'
34
- *
35
- * class CustomConstruct extends StaticSite {
36
- * constructor(parent: Construct, id: string, props: StaticSiteProps) {
37
- * super(parent, id, props)
38
- * this.props = props
39
- * this.id = id
40
- * this.initResources()
41
- * }
42
- * }
43
- */
44
- class StaticSite extends common_1.CommonConstruct {
45
- /* static site properties */
46
- props;
47
- id;
48
- /* static site resources */
49
- siteHostedZone;
50
- siteCertificate;
51
- siteARecord;
52
- siteARecordAlt;
53
- siteBucket;
54
- siteOrigin;
55
- siteDistribution;
56
- siteLogBucket;
57
- siteOriginAccessIdentity;
58
- siteCloudfrontFunction;
59
- siteFunctionAssociations;
60
- constructor(parent, id, props) {
61
- super(parent, id, props);
62
- this.props = props;
63
- this.id = id;
64
- }
65
- /**
66
- * @summary Initialise and provision resources
67
- * @protected
68
- */
69
- initResources() {
70
- this.resolveHostedZone();
71
- this.resolveCertificate();
72
- this.createSiteLogBucket();
73
- this.createSiteBucket();
74
- this.createSiteOrigin();
75
- this.createSiteCloudfrontFunction();
76
- this.resolveSiteFunctionAssociations();
77
- this.createSiteDistribution();
78
- this.createSiteRouteAssets();
79
- this.deploySite();
80
- }
81
- /**
82
- * @summary Method to resolve a hosted zone based on domain attributes
83
- * @protected
84
- */
85
- resolveHostedZone() {
86
- this.siteHostedZone = this.route53Manager.withHostedZoneFromFullyQualifiedDomainName(`${this.id}-hosted-zone`, this, this.props.useExistingHostedZone);
87
- }
88
- /**
89
- * @summary Method to resolve a certificate based on attributes
90
- * @protected
91
- */
92
- resolveCertificate() {
93
- if (this.props.siteCertificate.useExistingCertificate &&
94
- this.props.siteCertificate.certificateSsmName &&
95
- this.props.siteCertificate.certificateRegion) {
96
- this.props.siteCertificate.certificateArn = this.ssMManager.readStringParameterFromRegion(`${this.id}-certificate-param`, this, this.props.siteCertificate.certificateSsmName, this.props.siteCertificate.certificateRegion);
97
- }
98
- this.siteCertificate = this.acmManager.resolveCertificate(`${this.id}-certificate`, this, this.props.siteCertificate);
99
- }
100
- /**
101
- * @summary Method to create a site log bucket
102
- * @protected
103
- */
104
- createSiteLogBucket() {
105
- this.siteLogBucket = this.s3Manager.createS3Bucket(`${this.id}-site-logs`, this, this.props.siteLogBucket);
106
- }
107
- /**
108
- * @summary Method to create a site bucket
109
- * @protected
110
- */
111
- createSiteBucket() {
112
- this.siteBucket = this.s3Manager.createS3Bucket(`${this.id}-site`, this, this.props.siteBucket);
113
- }
114
- createSiteOrigin() {
115
- this.siteOrigin = new origins.S3Origin(this.siteBucket);
116
- }
117
- /**
118
- * @summary Method to create a site cloudfront function
119
- * @protected
120
- */
121
- createSiteCloudfrontFunction() {
122
- if (this.props.siteCloudfrontFunctionProps) {
123
- this.siteCloudfrontFunction = this.cloudFrontManager.createCloudfrontFunction(`${this.id}-function`, this, this.props.siteCloudfrontFunctionProps);
124
- }
125
- }
126
- /**
127
- * @summary Method to create a site cloudfront function associations
128
- * @protected
129
- */
130
- resolveSiteFunctionAssociations() {
131
- if (this.props.siteCloudfrontFunctionProps) {
132
- this.siteFunctionAssociations = [
133
- {
134
- function: this.siteCloudfrontFunction,
135
- eventType: cloudfront.FunctionEventType.VIEWER_REQUEST,
136
- },
137
- ];
138
- }
139
- }
140
- /**
141
- * @summary Method to create a site cloudfront distribution
142
- * @protected
143
- */
144
- createSiteDistribution() {
145
- if (!this.props.siteDistribution)
146
- throw 'SiteDistribution props undefined';
147
- this.siteDistribution = this.cloudFrontManager.createDistributionWithS3Origin(`${this.id}-distribution`, this, this.props.siteDistribution, this.siteOrigin, this.siteBucket, this.siteLogBucket, this.siteOriginAccessIdentity, this.siteCertificate, this.props.siteAliases, this.siteFunctionAssociations);
148
- }
149
- /**
150
- * @summary Method to create route53 records for static site
151
- * @protected
152
- */
153
- createSiteRouteAssets() {
154
- this.siteARecord = this.route53Manager.createCloudFrontTargetARecord(`${this.id}-domain-a-record`, this, this.siteDistribution, this.siteHostedZone, this.props.siteRecordName);
155
- if (!this.isProductionStage() && this.props.siteCreateAltARecord) {
156
- this.siteARecordAlt = this.route53Manager.createCloudFrontTargetARecordV2(`${this.id}-domain-a-record-alt`, this, this.siteDistribution, this.siteHostedZone, this.props.siteRecordName);
157
- }
158
- }
159
- /**
160
- * @summary Method to deploy the static assets into s3 bucket for static site
161
- * @protected
162
- */
163
- deploySite() {
164
- this.s3Manager.doBucketDeployment(`${this.id}-deployment`, this, this.siteBucket, this.siteDistribution, [this.props.siteSource], '', true);
165
- }
166
- }
167
- exports.StaticSite = StaticSite;
168
- //# sourceMappingURL=main.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../../src/lib/construct/static-site/main.ts"],"names":[],"mappings":"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"}