@gradientedge/cdk-utils 4.4.0 → 4.4.4

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 (402) hide show
  1. package/README.md +2 -6
  2. package/api-docs/AcmManager.html +8 -5
  3. package/api-docs/AcmProps.html +7 -4
  4. package/api-docs/AlarmProps.html +7 -4
  5. package/api-docs/AlarmStatusWidgetProps.html +7 -4
  6. package/api-docs/ApiDestinationEvent.html +7 -4
  7. package/api-docs/ApiDestinationEventType.html +7 -4
  8. package/api-docs/ApiDestinedLambda.html +7 -4
  9. package/api-docs/ApiDestinedLambdaEnvironment.html +7 -4
  10. package/api-docs/ApiDestinedLambdaType.html +8 -5
  11. package/api-docs/ApiDestinedRestApi.html +7 -4
  12. package/api-docs/ApiDestinedRestApiType.html +8 -5
  13. package/api-docs/ApiManager.html +9 -6
  14. package/api-docs/ApiToEventBridgeTarget.html +22 -19
  15. package/api-docs/ApiToEventBridgeTarget.jpg +0 -0
  16. package/api-docs/ApiToEventBridgeTargetEventProps.html +7 -4
  17. package/api-docs/ApiToEventBridgeTargetLambdaProps.html +7 -4
  18. package/api-docs/ApiToEventBridgeTargetProps.html +7 -4
  19. package/api-docs/ApiToEventBridgeTargetRestApiProps.html +238 -0
  20. package/api-docs/AppConfigManager.html +11 -8
  21. package/api-docs/AppConfigProps.html +6 -3
  22. package/api-docs/CloudFrontManager.html +13 -10
  23. package/api-docs/CloudFrontProps.html +7 -4
  24. package/api-docs/CloudTrailManager.html +8 -5
  25. package/api-docs/CloudTrailProps.html +7 -4
  26. package/api-docs/CloudWatchManager.html +20 -17
  27. package/api-docs/CloudfrontFunctionProps.html +7 -4
  28. package/api-docs/CodeBuildManager.html +9 -6
  29. package/api-docs/CommonConstruct.html +17 -14
  30. package/api-docs/CommonStack.html +11 -8
  31. package/api-docs/CommonStackProps.html +7 -4
  32. package/api-docs/DashboardProps.html +7 -4
  33. package/api-docs/DistributionProps.html +7 -4
  34. package/api-docs/DynamodbManager.html +8 -5
  35. package/api-docs/EcrManager.html +8 -5
  36. package/api-docs/EcsClusterProps.html +7 -4
  37. package/api-docs/EcsManager.html +9 -6
  38. package/api-docs/EcsTaskProps.html +7 -4
  39. package/api-docs/EksClusterProps.html +7 -4
  40. package/api-docs/EksManager.html +8 -5
  41. package/api-docs/EventBusProps.html +7 -4
  42. package/api-docs/EventManager.html +11 -8
  43. package/api-docs/EventRuleProps.html +7 -4
  44. package/api-docs/GraphQLApiLambda.html +20 -17
  45. package/api-docs/GraphQlApiLambdaEnvironment.html +7 -4
  46. package/api-docs/GraphQlApiLambdaProps.html +7 -4
  47. package/api-docs/GraphWidgetProps.html +7 -4
  48. package/api-docs/HealthCheck.html +7 -4
  49. package/api-docs/IamManager.html +30 -27
  50. package/api-docs/LambdaEdgeProps.html +7 -4
  51. package/api-docs/LambdaEnvironment.html +7 -4
  52. package/api-docs/LambdaManager.html +12 -9
  53. package/api-docs/LambdaProps.html +7 -4
  54. package/api-docs/LifecycleRule.html +238 -0
  55. package/api-docs/LogManager.html +10 -7
  56. package/api-docs/LogProps.html +7 -4
  57. package/api-docs/LogQueryWidgetProps.html +7 -4
  58. package/api-docs/MetricFilterProps.html +7 -4
  59. package/api-docs/MetricProps.html +7 -4
  60. package/api-docs/NumericWidgetProps.html +7 -4
  61. package/api-docs/Route53Manager.html +12 -9
  62. package/api-docs/Route53Props.html +7 -4
  63. package/api-docs/RuleProps.html +7 -4
  64. package/api-docs/S3BucketProps.html +7 -4
  65. package/api-docs/S3Manager.html +13 -10
  66. package/api-docs/SSMParameterReader.html +8 -5
  67. package/api-docs/SSMParameterReaderProps.html +7 -4
  68. package/api-docs/SecretsManager.html +12 -9
  69. package/api-docs/SiteWithEcsBackend.html +27 -24
  70. package/api-docs/SiteWithEcsBackendProps.html +7 -4
  71. package/api-docs/SnsManager.html +9 -6
  72. package/api-docs/SsmManager.html +10 -7
  73. package/api-docs/StaticSite.html +17 -14
  74. package/api-docs/StaticSiteProps.html +7 -4
  75. package/api-docs/SubscriptionProps.html +7 -4
  76. package/api-docs/TableProps.html +7 -4
  77. package/api-docs/TextWidgetProps.html +7 -4
  78. package/api-docs/VpcManager.html +64 -8
  79. package/api-docs/WafIPSetProps.html +7 -4
  80. package/api-docs/WafManager.html +9 -6
  81. package/api-docs/WafWebACLProps.html +7 -4
  82. package/api-docs/common_construct.ts.html +8 -4
  83. package/api-docs/common_stack.ts.html +8 -4
  84. package/api-docs/construct_api-to-eventbridge-target_api-destination-event.ts.html +8 -4
  85. package/api-docs/construct_api-to-eventbridge-target_api-destined-lambda.ts.html +8 -4
  86. package/api-docs/construct_api-to-eventbridge-target_api-destined-rest-api.ts.html +8 -4
  87. package/api-docs/construct_api-to-eventbridge-target_main.ts.html +8 -4
  88. package/api-docs/construct_graphql-api-lambda_main.ts.html +8 -4
  89. package/api-docs/construct_site-with-ecs-backend_main.ts.html +9 -5
  90. package/api-docs/construct_static-site_main.ts.html +8 -4
  91. package/api-docs/global.html +16 -13
  92. package/api-docs/index.html +8 -7
  93. package/api-docs/logo.png +0 -0
  94. package/api-docs/manager_aws_acm-manager.ts.html +8 -4
  95. package/api-docs/manager_aws_api-manager.ts.html +8 -4
  96. package/api-docs/manager_aws_app-config-manager.ts.html +10 -5
  97. package/api-docs/manager_aws_cloudfront-manager.ts.html +8 -4
  98. package/api-docs/manager_aws_cloudtrail-manager.ts.html +8 -4
  99. package/api-docs/manager_aws_cloudwatch-manager.ts.html +10 -5
  100. package/api-docs/manager_aws_codebuild-manager.ts.html +8 -4
  101. package/api-docs/manager_aws_dynamodb-manager.ts.html +8 -4
  102. package/api-docs/manager_aws_ecr-manager.ts.html +8 -4
  103. package/api-docs/manager_aws_ecs-manager.ts.html +8 -4
  104. package/api-docs/manager_aws_eks-manager.ts.html +8 -4
  105. package/api-docs/manager_aws_event-manager.ts.html +8 -4
  106. package/api-docs/manager_aws_iam-manager.ts.html +8 -4
  107. package/api-docs/manager_aws_lambda-manager.ts.html +8 -4
  108. package/api-docs/manager_aws_log-manager.ts.html +8 -4
  109. package/api-docs/manager_aws_route53-manager.ts.html +8 -4
  110. package/api-docs/manager_aws_s3-manager.ts.html +8 -4
  111. package/api-docs/manager_aws_secrets-manager.ts.html +8 -4
  112. package/api-docs/manager_aws_sns-manager.ts.html +8 -4
  113. package/api-docs/manager_aws_ssm-manager.ts.html +10 -5
  114. package/api-docs/manager_aws_vpc-manager.ts.html +13 -7
  115. package/api-docs/manager_aws_waf-manager.ts.html +8 -4
  116. package/api-docs/styles.css +113 -0
  117. package/api-docs/tutorial-Architecture.html +5 -1
  118. package/api-docs/tutorial-Build.html +5 -1
  119. package/api-docs/tutorial-CI-CD.html +5 -1
  120. package/api-docs/tutorial-Development.html +5 -1
  121. package/api-docs/types_aws_index.ts.html +104 -50
  122. package/api-docs/utils_aws_index.ts.html +7 -4
  123. package/api-docs/utils_index.ts.html +14 -12
  124. package/app/api-destined-function/package.json +0 -1
  125. package/img/ApiToEventBridgeTarget.jpg +0 -0
  126. package/img/logo.png +0 -0
  127. package/lerna.json +6 -0
  128. package/package.json +14 -14
  129. package/src/lib/common/construct.ts +2 -1
  130. package/src/lib/common/stack.ts +2 -1
  131. package/src/lib/construct/api-to-eventbridge-target/api-destination-event.ts +2 -1
  132. package/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.ts +2 -1
  133. package/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.ts +2 -1
  134. package/src/lib/construct/api-to-eventbridge-target/main.ts +2 -1
  135. package/src/lib/construct/graphql-api-lambda/main.ts +2 -1
  136. package/src/lib/construct/site-with-ecs-backend/main.ts +3 -2
  137. package/src/lib/construct/static-site/main.ts +2 -1
  138. package/src/lib/manager/aws/acm-manager.ts +2 -1
  139. package/src/lib/manager/aws/api-manager.ts +2 -1
  140. package/src/lib/manager/aws/app-config-manager.ts +4 -2
  141. package/src/lib/manager/aws/cloudfront-manager.ts +2 -1
  142. package/src/lib/manager/aws/cloudtrail-manager.ts +2 -1
  143. package/src/lib/manager/aws/cloudwatch-manager.ts +4 -2
  144. package/src/lib/manager/aws/codebuild-manager.ts +2 -1
  145. package/src/lib/manager/aws/dynamodb-manager.ts +2 -1
  146. package/src/lib/manager/aws/ecr-manager.ts +2 -1
  147. package/src/lib/manager/aws/ecs-manager.ts +2 -1
  148. package/src/lib/manager/aws/eks-manager.ts +2 -1
  149. package/src/lib/manager/aws/event-manager.ts +2 -1
  150. package/src/lib/manager/aws/iam-manager.ts +2 -1
  151. package/src/lib/manager/aws/lambda-manager.ts +2 -1
  152. package/src/lib/manager/aws/log-manager.ts +2 -1
  153. package/src/lib/manager/aws/route53-manager.ts +2 -1
  154. package/src/lib/manager/aws/s3-manager.ts +2 -1
  155. package/src/lib/manager/aws/secrets-manager.ts +2 -1
  156. package/src/lib/manager/aws/sns-manager.ts +2 -1
  157. package/src/lib/manager/aws/ssm-manager.ts +4 -2
  158. package/src/lib/manager/aws/vpc-manager.ts +7 -4
  159. package/src/lib/manager/aws/waf-manager.ts +2 -1
  160. package/src/lib/types/aws/index.ts +98 -47
  161. package/src/lib/utils/aws/index.ts +1 -1
  162. package/src/lib/utils/index.ts +8 -9
  163. package/theme/styles.css +113 -0
  164. package/app/api-destined-function/node_modules/uuid/dist/bin/uuid +0 -2
  165. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/index.js +0 -9
  166. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/md5.js +0 -215
  167. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/nil.js +0 -1
  168. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/parse.js +0 -35
  169. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/regex.js +0 -1
  170. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/rng.js +0 -19
  171. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/sha1.js +0 -96
  172. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/stringify.js +0 -30
  173. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v1.js +0 -95
  174. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v3.js +0 -4
  175. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v35.js +0 -64
  176. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v4.js +0 -24
  177. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/v5.js +0 -4
  178. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/validate.js +0 -7
  179. package/app/api-destined-function/node_modules/uuid/dist/esm-browser/version.js +0 -11
  180. package/app/api-destined-function/node_modules/uuid/dist/esm-node/index.js +0 -9
  181. package/app/api-destined-function/node_modules/uuid/dist/esm-node/md5.js +0 -13
  182. package/app/api-destined-function/node_modules/uuid/dist/esm-node/nil.js +0 -1
  183. package/app/api-destined-function/node_modules/uuid/dist/esm-node/parse.js +0 -35
  184. package/app/api-destined-function/node_modules/uuid/dist/esm-node/regex.js +0 -1
  185. package/app/api-destined-function/node_modules/uuid/dist/esm-node/rng.js +0 -12
  186. package/app/api-destined-function/node_modules/uuid/dist/esm-node/sha1.js +0 -13
  187. package/app/api-destined-function/node_modules/uuid/dist/esm-node/stringify.js +0 -29
  188. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v1.js +0 -95
  189. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v3.js +0 -4
  190. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v35.js +0 -64
  191. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v4.js +0 -24
  192. package/app/api-destined-function/node_modules/uuid/dist/esm-node/v5.js +0 -4
  193. package/app/api-destined-function/node_modules/uuid/dist/esm-node/validate.js +0 -7
  194. package/app/api-destined-function/node_modules/uuid/dist/esm-node/version.js +0 -11
  195. package/app/api-destined-function/node_modules/uuid/dist/index.js +0 -79
  196. package/app/api-destined-function/node_modules/uuid/dist/md5-browser.js +0 -223
  197. package/app/api-destined-function/node_modules/uuid/dist/md5.js +0 -23
  198. package/app/api-destined-function/node_modules/uuid/dist/nil.js +0 -8
  199. package/app/api-destined-function/node_modules/uuid/dist/parse.js +0 -45
  200. package/app/api-destined-function/node_modules/uuid/dist/regex.js +0 -8
  201. package/app/api-destined-function/node_modules/uuid/dist/rng-browser.js +0 -26
  202. package/app/api-destined-function/node_modules/uuid/dist/rng.js +0 -24
  203. package/app/api-destined-function/node_modules/uuid/dist/sha1-browser.js +0 -104
  204. package/app/api-destined-function/node_modules/uuid/dist/sha1.js +0 -23
  205. package/app/api-destined-function/node_modules/uuid/dist/stringify.js +0 -39
  206. package/app/api-destined-function/node_modules/uuid/dist/umd/uuid.min.js +0 -1
  207. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidNIL.min.js +0 -1
  208. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidParse.min.js +0 -1
  209. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidStringify.min.js +0 -1
  210. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidValidate.min.js +0 -1
  211. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidVersion.min.js +0 -1
  212. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv1.min.js +0 -1
  213. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv3.min.js +0 -1
  214. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv4.min.js +0 -1
  215. package/app/api-destined-function/node_modules/uuid/dist/umd/uuidv5.min.js +0 -1
  216. package/app/api-destined-function/node_modules/uuid/dist/uuid-bin.js +0 -85
  217. package/app/api-destined-function/node_modules/uuid/dist/v1.js +0 -107
  218. package/app/api-destined-function/node_modules/uuid/dist/v3.js +0 -16
  219. package/app/api-destined-function/node_modules/uuid/dist/v35.js +0 -78
  220. package/app/api-destined-function/node_modules/uuid/dist/v4.js +0 -37
  221. package/app/api-destined-function/node_modules/uuid/dist/v5.js +0 -16
  222. package/app/api-destined-function/node_modules/uuid/dist/validate.js +0 -17
  223. package/app/api-destined-function/node_modules/uuid/dist/version.js +0 -21
  224. package/dist/app/api-destined-function/src/lib/lambda.d.ts +0 -19
  225. package/dist/app/api-destined-function/src/lib/lambda.d.ts.map +0 -1
  226. package/dist/app/api-destined-function/src/lib/lambda.js +0 -34
  227. package/dist/app/api-destined-function/src/lib/lambda.js.map +0 -1
  228. package/dist/index.d.ts +0 -6
  229. package/dist/index.d.ts.map +0 -1
  230. package/dist/index.js.map +0 -1
  231. package/dist/src/lib/common/construct.d.ts +0 -79
  232. package/dist/src/lib/common/construct.d.ts.map +0 -1
  233. package/dist/src/lib/common/construct.js +0 -133
  234. package/dist/src/lib/common/construct.js.map +0 -1
  235. package/dist/src/lib/common/index.d.ts +0 -3
  236. package/dist/src/lib/common/index.d.ts.map +0 -1
  237. package/dist/src/lib/common/index.js +0 -15
  238. package/dist/src/lib/common/index.js.map +0 -1
  239. package/dist/src/lib/common/stack.d.ts +0 -54
  240. package/dist/src/lib/common/stack.d.ts.map +0 -1
  241. package/dist/src/lib/common/stack.js +0 -147
  242. package/dist/src/lib/common/stack.js.map +0 -1
  243. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.d.ts +0 -16
  244. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.d.ts.map +0 -1
  245. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.js +0 -17
  246. package/dist/src/lib/construct/api-to-eventbridge-target/api-destination-event.js.map +0 -1
  247. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.d.ts +0 -19
  248. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.d.ts.map +0 -1
  249. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.js +0 -19
  250. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-lambda.js.map +0 -1
  251. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.d.ts +0 -35
  252. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.d.ts.map +0 -1
  253. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.js +0 -29
  254. package/dist/src/lib/construct/api-to-eventbridge-target/api-destined-rest-api.js.map +0 -1
  255. package/dist/src/lib/construct/api-to-eventbridge-target/index.d.ts +0 -5
  256. package/dist/src/lib/construct/api-to-eventbridge-target/index.d.ts.map +0 -1
  257. package/dist/src/lib/construct/api-to-eventbridge-target/index.js +0 -17
  258. package/dist/src/lib/construct/api-to-eventbridge-target/index.js.map +0 -1
  259. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts +0 -134
  260. package/dist/src/lib/construct/api-to-eventbridge-target/main.d.ts.map +0 -1
  261. package/dist/src/lib/construct/api-to-eventbridge-target/main.js +0 -487
  262. package/dist/src/lib/construct/api-to-eventbridge-target/main.js.map +0 -1
  263. package/dist/src/lib/construct/graphql-api-lambda/index.d.ts +0 -2
  264. package/dist/src/lib/construct/graphql-api-lambda/index.d.ts.map +0 -1
  265. package/dist/src/lib/construct/graphql-api-lambda/index.js +0 -14
  266. package/dist/src/lib/construct/graphql-api-lambda/index.js.map +0 -1
  267. package/dist/src/lib/construct/graphql-api-lambda/main.d.ts +0 -112
  268. package/dist/src/lib/construct/graphql-api-lambda/main.d.ts.map +0 -1
  269. package/dist/src/lib/construct/graphql-api-lambda/main.js +0 -201
  270. package/dist/src/lib/construct/graphql-api-lambda/main.js.map +0 -1
  271. package/dist/src/lib/construct/index.d.ts +0 -5
  272. package/dist/src/lib/construct/index.d.ts.map +0 -1
  273. package/dist/src/lib/construct/index.js +0 -17
  274. package/dist/src/lib/construct/index.js.map +0 -1
  275. package/dist/src/lib/construct/site-with-ecs-backend/index.d.ts +0 -2
  276. package/dist/src/lib/construct/site-with-ecs-backend/index.d.ts.map +0 -1
  277. package/dist/src/lib/construct/site-with-ecs-backend/index.js +0 -14
  278. package/dist/src/lib/construct/site-with-ecs-backend/index.js.map +0 -1
  279. package/dist/src/lib/construct/site-with-ecs-backend/main.d.ts +0 -167
  280. package/dist/src/lib/construct/site-with-ecs-backend/main.d.ts.map +0 -1
  281. package/dist/src/lib/construct/site-with-ecs-backend/main.js +0 -327
  282. package/dist/src/lib/construct/site-with-ecs-backend/main.js.map +0 -1
  283. package/dist/src/lib/construct/static-site/index.d.ts +0 -2
  284. package/dist/src/lib/construct/static-site/index.d.ts.map +0 -1
  285. package/dist/src/lib/construct/static-site/index.js +0 -14
  286. package/dist/src/lib/construct/static-site/index.js.map +0 -1
  287. package/dist/src/lib/construct/static-site/main.d.ts +0 -94
  288. package/dist/src/lib/construct/static-site/main.d.ts.map +0 -1
  289. package/dist/src/lib/construct/static-site/main.js +0 -168
  290. package/dist/src/lib/construct/static-site/main.js.map +0 -1
  291. package/dist/src/lib/manager/aws/acm-manager.d.ts +0 -46
  292. package/dist/src/lib/manager/aws/acm-manager.d.ts.map +0 -1
  293. package/dist/src/lib/manager/aws/acm-manager.js +0 -90
  294. package/dist/src/lib/manager/aws/acm-manager.js.map +0 -1
  295. package/dist/src/lib/manager/aws/api-manager.d.ts +0 -43
  296. package/dist/src/lib/manager/aws/api-manager.d.ts.map +0 -1
  297. package/dist/src/lib/manager/aws/api-manager.js +0 -111
  298. package/dist/src/lib/manager/aws/api-manager.js.map +0 -1
  299. package/dist/src/lib/manager/aws/app-config-manager.d.ts +0 -64
  300. package/dist/src/lib/manager/aws/app-config-manager.d.ts.map +0 -1
  301. package/dist/src/lib/manager/aws/app-config-manager.js +0 -147
  302. package/dist/src/lib/manager/aws/app-config-manager.js.map +0 -1
  303. package/dist/src/lib/manager/aws/cloudfront-manager.d.ts +0 -112
  304. package/dist/src/lib/manager/aws/cloudfront-manager.d.ts.map +0 -1
  305. package/dist/src/lib/manager/aws/cloudfront-manager.js +0 -282
  306. package/dist/src/lib/manager/aws/cloudfront-manager.js.map +0 -1
  307. package/dist/src/lib/manager/aws/cloudtrail-manager.d.ts +0 -48
  308. package/dist/src/lib/manager/aws/cloudtrail-manager.d.ts.map +0 -1
  309. package/dist/src/lib/manager/aws/cloudtrail-manager.js +0 -99
  310. package/dist/src/lib/manager/aws/cloudtrail-manager.js.map +0 -1
  311. package/dist/src/lib/manager/aws/cloudwatch-manager.d.ts +0 -121
  312. package/dist/src/lib/manager/aws/cloudwatch-manager.d.ts.map +0 -1
  313. package/dist/src/lib/manager/aws/cloudwatch-manager.js +0 -351
  314. package/dist/src/lib/manager/aws/cloudwatch-manager.js.map +0 -1
  315. package/dist/src/lib/manager/aws/codebuild-manager.d.ts +0 -40
  316. package/dist/src/lib/manager/aws/codebuild-manager.d.ts.map +0 -1
  317. package/dist/src/lib/manager/aws/codebuild-manager.js +0 -94
  318. package/dist/src/lib/manager/aws/codebuild-manager.js.map +0 -1
  319. package/dist/src/lib/manager/aws/dynamodb-manager.d.ts +0 -32
  320. package/dist/src/lib/manager/aws/dynamodb-manager.d.ts.map +0 -1
  321. package/dist/src/lib/manager/aws/dynamodb-manager.js +0 -79
  322. package/dist/src/lib/manager/aws/dynamodb-manager.js.map +0 -1
  323. package/dist/src/lib/manager/aws/ecr-manager.d.ts +0 -31
  324. package/dist/src/lib/manager/aws/ecr-manager.d.ts.map +0 -1
  325. package/dist/src/lib/manager/aws/ecr-manager.js +0 -60
  326. package/dist/src/lib/manager/aws/ecr-manager.js.map +0 -1
  327. package/dist/src/lib/manager/aws/ecs-manager.d.ts +0 -48
  328. package/dist/src/lib/manager/aws/ecs-manager.d.ts.map +0 -1
  329. package/dist/src/lib/manager/aws/ecs-manager.js +0 -103
  330. package/dist/src/lib/manager/aws/ecs-manager.js.map +0 -1
  331. package/dist/src/lib/manager/aws/eks-manager.d.ts +0 -36
  332. package/dist/src/lib/manager/aws/eks-manager.d.ts.map +0 -1
  333. package/dist/src/lib/manager/aws/eks-manager.js +0 -109
  334. package/dist/src/lib/manager/aws/eks-manager.js.map +0 -1
  335. package/dist/src/lib/manager/aws/event-manager.d.ts +0 -67
  336. package/dist/src/lib/manager/aws/event-manager.d.ts.map +0 -1
  337. package/dist/src/lib/manager/aws/event-manager.js +0 -162
  338. package/dist/src/lib/manager/aws/event-manager.js.map +0 -1
  339. package/dist/src/lib/manager/aws/iam-manager.d.ts +0 -154
  340. package/dist/src/lib/manager/aws/iam-manager.d.ts.map +0 -1
  341. package/dist/src/lib/manager/aws/iam-manager.js +0 -380
  342. package/dist/src/lib/manager/aws/iam-manager.js.map +0 -1
  343. package/dist/src/lib/manager/aws/index.d.ts +0 -23
  344. package/dist/src/lib/manager/aws/index.d.ts.map +0 -1
  345. package/dist/src/lib/manager/aws/index.js +0 -35
  346. package/dist/src/lib/manager/aws/index.js.map +0 -1
  347. package/dist/src/lib/manager/aws/lambda-manager.d.ts +0 -94
  348. package/dist/src/lib/manager/aws/lambda-manager.d.ts.map +0 -1
  349. package/dist/src/lib/manager/aws/lambda-manager.js +0 -196
  350. package/dist/src/lib/manager/aws/lambda-manager.js.map +0 -1
  351. package/dist/src/lib/manager/aws/log-manager.d.ts +0 -51
  352. package/dist/src/lib/manager/aws/log-manager.d.ts.map +0 -1
  353. package/dist/src/lib/manager/aws/log-manager.js +0 -108
  354. package/dist/src/lib/manager/aws/log-manager.js.map +0 -1
  355. package/dist/src/lib/manager/aws/route53-manager.d.ts +0 -68
  356. package/dist/src/lib/manager/aws/route53-manager.d.ts.map +0 -1
  357. package/dist/src/lib/manager/aws/route53-manager.js +0 -158
  358. package/dist/src/lib/manager/aws/route53-manager.js.map +0 -1
  359. package/dist/src/lib/manager/aws/s3-manager.d.ts +0 -73
  360. package/dist/src/lib/manager/aws/s3-manager.d.ts.map +0 -1
  361. package/dist/src/lib/manager/aws/s3-manager.js +0 -202
  362. package/dist/src/lib/manager/aws/s3-manager.js.map +0 -1
  363. package/dist/src/lib/manager/aws/secrets-manager.d.ts +0 -57
  364. package/dist/src/lib/manager/aws/secrets-manager.d.ts.map +0 -1
  365. package/dist/src/lib/manager/aws/secrets-manager.js +0 -116
  366. package/dist/src/lib/manager/aws/secrets-manager.js.map +0 -1
  367. package/dist/src/lib/manager/aws/sns-manager.d.ts +0 -42
  368. package/dist/src/lib/manager/aws/sns-manager.d.ts.map +0 -1
  369. package/dist/src/lib/manager/aws/sns-manager.js +0 -90
  370. package/dist/src/lib/manager/aws/sns-manager.js.map +0 -1
  371. package/dist/src/lib/manager/aws/ssm-manager.d.ts +0 -59
  372. package/dist/src/lib/manager/aws/ssm-manager.d.ts.map +0 -1
  373. package/dist/src/lib/manager/aws/ssm-manager.js +0 -123
  374. package/dist/src/lib/manager/aws/ssm-manager.js.map +0 -1
  375. package/dist/src/lib/manager/aws/vpc-manager.d.ts +0 -44
  376. package/dist/src/lib/manager/aws/vpc-manager.d.ts.map +0 -1
  377. package/dist/src/lib/manager/aws/vpc-manager.js +0 -92
  378. package/dist/src/lib/manager/aws/vpc-manager.js.map +0 -1
  379. package/dist/src/lib/manager/aws/waf-manager.d.ts +0 -39
  380. package/dist/src/lib/manager/aws/waf-manager.d.ts.map +0 -1
  381. package/dist/src/lib/manager/aws/waf-manager.js +0 -89
  382. package/dist/src/lib/manager/aws/waf-manager.js.map +0 -1
  383. package/dist/src/lib/manager/index.d.ts +0 -2
  384. package/dist/src/lib/manager/index.d.ts.map +0 -1
  385. package/dist/src/lib/manager/index.js +0 -14
  386. package/dist/src/lib/manager/index.js.map +0 -1
  387. package/dist/src/lib/types/aws/index.d.ts +0 -429
  388. package/dist/src/lib/types/aws/index.d.ts.map +0 -1
  389. package/dist/src/lib/types/aws/index.js +0 -3
  390. package/dist/src/lib/types/aws/index.js.map +0 -1
  391. package/dist/src/lib/types/index.d.ts +0 -2
  392. package/dist/src/lib/types/index.d.ts.map +0 -1
  393. package/dist/src/lib/types/index.js +0 -14
  394. package/dist/src/lib/types/index.js.map +0 -1
  395. package/dist/src/lib/utils/aws/index.d.ts +0 -16
  396. package/dist/src/lib/utils/aws/index.d.ts.map +0 -1
  397. package/dist/src/lib/utils/aws/index.js +0 -50
  398. package/dist/src/lib/utils/aws/index.js.map +0 -1
  399. package/dist/src/lib/utils/index.d.ts +0 -64
  400. package/dist/src/lib/utils/index.d.ts.map +0 -1
  401. package/dist/src/lib/utils/index.js +0 -86
  402. package/dist/src/lib/utils/index.js.map +0 -1
@@ -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":";;;;;;;;;;;;;;;;;;;;;;AACA,uEAAwD;AACxD,4EAA6D;AAI7D,yCAA8C;AAG9C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,UAAW,SAAQ,wBAAe;IAC7C,4BAA4B;IAC5B,KAAK,CAAiB;IACtB,EAAE,CAAQ;IAEV,2BAA2B;IAC3B,cAAc,CAAqB;IACnC,eAAe,CAAiC;IAChD,WAAW,CAAiB;IAC5B,cAAc,CAAiB;IAC/B,UAAU,CAAY;IACtB,UAAU,CAAkB;IAC5B,gBAAgB,CAAyB;IACzC,aAAa,CAAY;IACzB,wBAAwB,CAAiC;IACzD,sBAAsB,CAAqB;IAC3C,wBAAwB,CAAkC;IAE1D,YAAY,MAAiB,EAAE,EAAU,EAAE,KAAsB;QAC/D,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;QAExB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;IACd,CAAC;IAED;;;OAGG;IACO,aAAa;QACrB,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAA;QACzB,IAAI,CAAC,mBAAmB,EAAE,CAAA;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAA;QACnC,IAAI,CAAC,+BAA+B,EAAE,CAAA;QACtC,IAAI,CAAC,sBAAsB,EAAE,CAAA;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAA;IACnB,CAAC;IAED;;;OAGG;IACO,iBAAiB;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,0CAA0C,CAClF,GAAG,IAAI,CAAC,EAAE,cAAc,EACxB,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CACjC,CAAA;IACH,CAAC;IAED;;;OAGG;IACO,kBAAkB;QAC1B,IACE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,sBAAsB;YACjD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB;YAC7C,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,EAC5C;YACA,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CACvF,GAAG,IAAI,CAAC,EAAE,oBAAoB,EAC9B,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,kBAAkB,EAC7C,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,iBAAiB,CAC7C,CAAA;SACF;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,CACvD,GAAG,IAAI,CAAC,EAAE,cAAc,EACxB,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,eAAe,CAC3B,CAAA;IACH,CAAC;IAED;;;OAGG;IACO,mBAAmB;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;IAC5G,CAAC;IAED;;;OAGG;IACO,gBAAgB;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACjG,CAAC;IAES,gBAAgB;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACzD,CAAC;IAED;;;OAGG;IACO,4BAA4B;QACpC,IAAI,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE;YAC1C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAC3E,GAAG,IAAI,CAAC,EAAE,WAAW,EACrB,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,2BAA2B,CACvC,CAAA;SACF;IACH,CAAC;IAED;;;OAGG;IACO,+BAA+B;QACvC,IAAI,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE;YAC1C,IAAI,CAAC,wBAAwB,GAAG;gBAC9B;oBACE,QAAQ,EAAE,IAAI,CAAC,sBAAsB;oBACrC,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,cAAc;iBACvD;aACF,CAAA;SACF;IACH,CAAC;IAED;;;OAGG;IACO,sBAAsB;QAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB;YAAE,MAAM,kCAAkC,CAAA;QAE1E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,8BAA8B,CAC3E,GAAG,IAAI,CAAC,EAAE,eAAe,EACzB,IAAI,EACJ,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAC3B,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,KAAK,CAAC,WAAW,EACtB,IAAI,CAAC,wBAAwB,CAC9B,CAAA;IACH,CAAC;IAED;;;OAGG;IACO,qBAAqB;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAClE,GAAG,IAAI,CAAC,EAAE,kBAAkB,EAC5B,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,KAAK,CAAC,cAAc,CAC1B,CAAA;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;YAChE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,+BAA+B,CACvE,GAAG,IAAI,CAAC,EAAE,sBAAsB,EAChC,IAAI,EACJ,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,KAAK,CAAC,cAAc,CAC1B,CAAA;SACF;IACH,CAAC;IAED;;;OAGG;IACO,UAAU;QAClB,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,GAAG,IAAI,CAAC,EAAE,aAAa,EACvB,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,EACrB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EACvB,EAAE,EACF,IAAI,CACL,CAAA;IACH,CAAC;CACF;AA3LD,gCA2LC"}