@gradientedge/cdk-utils 8.120.0 → 8.122.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/README.md +2 -1
  2. package/dist/index.d.ts +1 -5
  3. package/dist/index.js +1 -5
  4. package/dist/src/lib/aws/common/construct.d.ts +83 -0
  5. package/dist/src/lib/aws/common/construct.js +126 -0
  6. package/dist/src/lib/aws/common/index.d.ts +3 -0
  7. package/dist/src/lib/aws/common/index.js +19 -0
  8. package/dist/src/lib/aws/common/stack.d.ts +56 -0
  9. package/dist/src/lib/aws/common/stack.js +141 -0
  10. package/dist/src/lib/aws/common/types.d.ts +14 -0
  11. package/dist/src/lib/aws/index.d.ts +5 -0
  12. package/dist/src/lib/aws/index.js +21 -0
  13. package/dist/src/lib/aws/types/index.js +2 -0
  14. package/dist/src/lib/{utils/aws → aws/utils}/index.d.ts +29 -1
  15. package/dist/src/lib/{utils/aws → aws/utils}/index.js +32 -1
  16. package/dist/src/lib/azure/common/construct.d.ts +35 -0
  17. package/dist/src/lib/azure/common/construct.js +49 -0
  18. package/dist/src/lib/azure/common/index.d.ts +3 -0
  19. package/dist/src/lib/azure/common/index.js +19 -0
  20. package/dist/src/lib/azure/common/stack.d.ts +52 -0
  21. package/dist/src/lib/azure/common/stack.js +136 -0
  22. package/dist/src/lib/azure/common/types.d.ts +7 -0
  23. package/dist/src/lib/azure/common/types.js +2 -0
  24. package/dist/src/lib/azure/index.d.ts +4 -0
  25. package/dist/src/lib/azure/index.js +20 -0
  26. package/dist/src/lib/azure/services/index.d.ts +1 -0
  27. package/dist/src/lib/azure/services/index.js +17 -0
  28. package/dist/src/lib/azure/services/storage/index.d.ts +2 -0
  29. package/dist/src/lib/azure/services/storage/index.js +18 -0
  30. package/dist/src/lib/azure/services/storage/main.d.ts +43 -0
  31. package/dist/src/lib/azure/services/storage/main.js +124 -0
  32. package/dist/src/lib/azure/services/storage/types.d.ts +10 -0
  33. package/dist/src/lib/azure/services/storage/types.js +2 -0
  34. package/dist/src/lib/azure/types/index.d.ts +3 -0
  35. package/dist/src/lib/azure/types/index.js +2 -0
  36. package/dist/src/lib/azure/utils/index.d.ts +3 -0
  37. package/dist/src/lib/azure/utils/index.js +20 -0
  38. package/dist/src/lib/common/construct.d.ts +8 -63
  39. package/dist/src/lib/common/construct.js +3 -128
  40. package/dist/src/lib/common/index.d.ts +2 -0
  41. package/dist/src/lib/common/index.js +10 -0
  42. package/dist/src/lib/common/stack.d.ts +11 -46
  43. package/dist/src/lib/common/stack.js +4 -137
  44. package/dist/src/lib/common/types.d.ts +5 -16
  45. package/dist/src/lib/common/utils.d.ts +26 -0
  46. package/dist/src/lib/common/utils.js +34 -0
  47. package/dist/src/lib/index.d.ts +2 -4
  48. package/dist/src/lib/index.js +2 -4
  49. package/index.ts +1 -5
  50. package/package.json +3 -1
  51. package/setup.js +2 -0
  52. package/src/lib/aws/common/construct.ts +164 -0
  53. package/src/lib/aws/common/index.ts +3 -0
  54. package/src/lib/aws/common/stack.ts +150 -0
  55. package/src/lib/aws/common/types.ts +15 -0
  56. package/src/lib/aws/index.ts +5 -0
  57. package/src/lib/{utils/aws → aws/utils}/index.ts +33 -1
  58. package/src/lib/azure/common/construct.ts +57 -0
  59. package/src/lib/azure/common/index.ts +3 -0
  60. package/src/lib/azure/common/stack.ts +145 -0
  61. package/src/lib/azure/common/types.ts +8 -0
  62. package/src/lib/azure/index.ts +4 -0
  63. package/src/lib/azure/services/index.ts +1 -0
  64. package/src/lib/azure/services/storage/index.ts +2 -0
  65. package/src/lib/azure/services/storage/main.ts +134 -0
  66. package/src/lib/azure/services/storage/types.ts +10 -0
  67. package/src/lib/azure/types/index.ts +3 -0
  68. package/src/lib/azure/utils/index.ts +23 -0
  69. package/src/lib/common/construct.ts +8 -148
  70. package/src/lib/common/index.ts +13 -0
  71. package/src/lib/common/stack.ts +11 -135
  72. package/src/lib/common/types.ts +5 -17
  73. package/src/lib/common/utils.ts +27 -0
  74. package/src/lib/index.ts +2 -4
  75. package/dist/src/lib/types/index.d.ts +0 -1
  76. package/dist/src/lib/types/index.js +0 -17
  77. package/dist/src/lib/utils/index.d.ts +0 -55
  78. package/dist/src/lib/utils/index.js +0 -80
  79. package/src/lib/types/index.ts +0 -1
  80. package/src/lib/utils/index.ts +0 -61
  81. /package/dist/src/lib/{construct/api-to-any-target → aws/common}/types.js +0 -0
  82. /package/dist/src/lib/{construct → aws/construct}/api-to-any-target/index.d.ts +0 -0
  83. /package/dist/src/lib/{construct → aws/construct}/api-to-any-target/index.js +0 -0
  84. /package/dist/src/lib/{construct → aws/construct}/api-to-any-target/main.d.ts +0 -0
  85. /package/dist/src/lib/{construct → aws/construct}/api-to-any-target/main.js +0 -0
  86. /package/dist/src/lib/{construct → aws/construct}/api-to-any-target/target.d.ts +0 -0
  87. /package/dist/src/lib/{construct → aws/construct}/api-to-any-target/target.js +0 -0
  88. /package/dist/src/lib/{construct → aws/construct}/api-to-any-target/types.d.ts +0 -0
  89. /package/dist/src/lib/{construct/api-to-eventbridge-target-with-sns → aws/construct/api-to-any-target}/types.js +0 -0
  90. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/api.d.ts +0 -0
  91. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/api.js +0 -0
  92. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/event.d.ts +0 -0
  93. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/event.js +0 -0
  94. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/index.d.ts +0 -0
  95. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/index.js +0 -0
  96. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/main.d.ts +0 -0
  97. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/main.js +0 -0
  98. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target/types.d.ts +0 -0
  99. /package/dist/src/lib/{construct/api-to-lambda-target → aws/construct/api-to-eventbridge-target}/types.js +0 -0
  100. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/api-destined-lambda.d.ts +0 -0
  101. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/api-destined-lambda.js +0 -0
  102. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/index.d.ts +0 -0
  103. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/index.js +0 -0
  104. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/main.d.ts +0 -0
  105. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/main.js +0 -0
  106. /package/dist/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/types.d.ts +0 -0
  107. /package/dist/src/lib/{construct/api-to-eventbridge-target → aws/construct/api-to-eventbridge-target-with-sns}/types.js +0 -0
  108. /package/dist/src/lib/{construct → aws/construct}/api-to-lambda-target/api.d.ts +0 -0
  109. /package/dist/src/lib/{construct → aws/construct}/api-to-lambda-target/api.js +0 -0
  110. /package/dist/src/lib/{construct → aws/construct}/api-to-lambda-target/index.d.ts +0 -0
  111. /package/dist/src/lib/{construct → aws/construct}/api-to-lambda-target/index.js +0 -0
  112. /package/dist/src/lib/{construct → aws/construct}/api-to-lambda-target/main.d.ts +0 -0
  113. /package/dist/src/lib/{construct → aws/construct}/api-to-lambda-target/main.js +0 -0
  114. /package/dist/src/lib/{construct → aws/construct}/api-to-lambda-target/types.d.ts +0 -0
  115. /package/dist/src/lib/{construct/application-configuration → aws/construct/api-to-lambda-target}/types.js +0 -0
  116. /package/dist/src/lib/{construct → aws/construct}/application-configuration/index.d.ts +0 -0
  117. /package/dist/src/lib/{construct → aws/construct}/application-configuration/index.js +0 -0
  118. /package/dist/src/lib/{construct → aws/construct}/application-configuration/main.d.ts +0 -0
  119. /package/dist/src/lib/{construct → aws/construct}/application-configuration/main.js +0 -0
  120. /package/dist/src/lib/{construct → aws/construct}/application-configuration/types.d.ts +0 -0
  121. /package/dist/src/lib/{construct/graphql-api-lambda-with-cache → aws/construct/application-configuration}/types.js +0 -0
  122. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda/index.d.ts +0 -0
  123. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda/index.js +0 -0
  124. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda/main.d.ts +0 -0
  125. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda/main.js +0 -0
  126. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda/types.d.ts +0 -0
  127. /package/dist/src/lib/{construct/lambda-with-iam-access → aws/construct/graphql-api-lambda}/types.js +0 -0
  128. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/index.d.ts +0 -0
  129. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/index.js +0 -0
  130. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/main.d.ts +0 -0
  131. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/main.js +0 -0
  132. /package/dist/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/types.d.ts +0 -0
  133. /package/dist/src/lib/{construct/graphql-api-lambda → aws/construct/graphql-api-lambda-with-cache}/types.js +0 -0
  134. /package/dist/src/lib/{construct → aws/construct}/index.d.ts +0 -0
  135. /package/dist/src/lib/{construct → aws/construct}/index.js +0 -0
  136. /package/dist/src/lib/{construct → aws/construct}/lambda-with-iam-access/index.d.ts +0 -0
  137. /package/dist/src/lib/{construct → aws/construct}/lambda-with-iam-access/index.js +0 -0
  138. /package/dist/src/lib/{construct → aws/construct}/lambda-with-iam-access/main.d.ts +0 -0
  139. /package/dist/src/lib/{construct → aws/construct}/lambda-with-iam-access/main.js +0 -0
  140. /package/dist/src/lib/{construct → aws/construct}/lambda-with-iam-access/types.d.ts +0 -0
  141. /package/dist/src/lib/{construct/rest-api-lambda-with-cache → aws/construct/lambda-with-iam-access}/types.js +0 -0
  142. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda/index.d.ts +0 -0
  143. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda/index.js +0 -0
  144. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda/main.d.ts +0 -0
  145. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda/main.js +0 -0
  146. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda/types.d.ts +0 -0
  147. /package/dist/src/lib/{construct/site-with-ecs-backend → aws/construct/rest-api-lambda}/types.js +0 -0
  148. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/index.d.ts +0 -0
  149. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/index.js +0 -0
  150. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/main.d.ts +0 -0
  151. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/main.js +0 -0
  152. /package/dist/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/types.d.ts +0 -0
  153. /package/dist/src/lib/{construct/rest-api-lambda → aws/construct/rest-api-lambda-with-cache}/types.js +0 -0
  154. /package/dist/src/lib/{construct → aws/construct}/site-with-ecs-backend/constants.d.ts +0 -0
  155. /package/dist/src/lib/{construct → aws/construct}/site-with-ecs-backend/constants.js +0 -0
  156. /package/dist/src/lib/{construct → aws/construct}/site-with-ecs-backend/index.d.ts +0 -0
  157. /package/dist/src/lib/{construct → aws/construct}/site-with-ecs-backend/index.js +0 -0
  158. /package/dist/src/lib/{construct → aws/construct}/site-with-ecs-backend/main.d.ts +0 -0
  159. /package/dist/src/lib/{construct → aws/construct}/site-with-ecs-backend/main.js +0 -0
  160. /package/dist/src/lib/{construct → aws/construct}/site-with-ecs-backend/types.d.ts +0 -0
  161. /package/dist/src/lib/{construct/static-asset-deployment → aws/construct/site-with-ecs-backend}/types.js +0 -0
  162. /package/dist/src/lib/{construct → aws/construct}/static-asset-deployment/index.d.ts +0 -0
  163. /package/dist/src/lib/{construct → aws/construct}/static-asset-deployment/index.js +0 -0
  164. /package/dist/src/lib/{construct → aws/construct}/static-asset-deployment/main.d.ts +0 -0
  165. /package/dist/src/lib/{construct → aws/construct}/static-asset-deployment/main.js +0 -0
  166. /package/dist/src/lib/{construct → aws/construct}/static-asset-deployment/types.d.ts +0 -0
  167. /package/dist/src/lib/{construct/static-site → aws/construct/static-asset-deployment}/types.js +0 -0
  168. /package/dist/src/lib/{construct → aws/construct}/static-site/index.d.ts +0 -0
  169. /package/dist/src/lib/{construct → aws/construct}/static-site/index.js +0 -0
  170. /package/dist/src/lib/{construct → aws/construct}/static-site/main.d.ts +0 -0
  171. /package/dist/src/lib/{construct → aws/construct}/static-site/main.js +0 -0
  172. /package/dist/src/lib/{construct → aws/construct}/static-site/types.d.ts +0 -0
  173. /package/dist/src/lib/{services/api-gateway → aws/construct/static-site}/types.js +0 -0
  174. /package/dist/src/lib/{services → aws/services}/api-gateway/index.d.ts +0 -0
  175. /package/dist/src/lib/{services → aws/services}/api-gateway/index.js +0 -0
  176. /package/dist/src/lib/{services → aws/services}/api-gateway/main.d.ts +0 -0
  177. /package/dist/src/lib/{services → aws/services}/api-gateway/main.js +0 -0
  178. /package/dist/src/lib/{services → aws/services}/api-gateway/types.d.ts +0 -0
  179. /package/dist/src/lib/{services/appconfig → aws/services/api-gateway}/types.js +0 -0
  180. /package/dist/src/lib/{services → aws/services}/appconfig/constants.d.ts +0 -0
  181. /package/dist/src/lib/{services → aws/services}/appconfig/constants.js +0 -0
  182. /package/dist/src/lib/{services → aws/services}/appconfig/index.d.ts +0 -0
  183. /package/dist/src/lib/{services → aws/services}/appconfig/index.js +0 -0
  184. /package/dist/src/lib/{services → aws/services}/appconfig/main.d.ts +0 -0
  185. /package/dist/src/lib/{services → aws/services}/appconfig/main.js +0 -0
  186. /package/dist/src/lib/{services → aws/services}/appconfig/types.d.ts +0 -0
  187. /package/dist/src/lib/{services/certificate-manager → aws/services/appconfig}/types.js +0 -0
  188. /package/dist/src/lib/{services → aws/services}/certificate-manager/index.d.ts +0 -0
  189. /package/dist/src/lib/{services → aws/services}/certificate-manager/index.js +0 -0
  190. /package/dist/src/lib/{services → aws/services}/certificate-manager/main.d.ts +0 -0
  191. /package/dist/src/lib/{services → aws/services}/certificate-manager/main.js +0 -0
  192. /package/dist/src/lib/{services → aws/services}/certificate-manager/types.d.ts +0 -0
  193. /package/dist/src/lib/{services/cloudfront → aws/services/certificate-manager}/types.js +0 -0
  194. /package/dist/src/lib/{services → aws/services}/cloudfront/index.d.ts +0 -0
  195. /package/dist/src/lib/{services → aws/services}/cloudfront/index.js +0 -0
  196. /package/dist/src/lib/{services → aws/services}/cloudfront/main.d.ts +0 -0
  197. /package/dist/src/lib/{services → aws/services}/cloudfront/main.js +0 -0
  198. /package/dist/src/lib/{services → aws/services}/cloudfront/types.d.ts +0 -0
  199. /package/dist/src/lib/{services/cloudtrail → aws/services/cloudfront}/types.js +0 -0
  200. /package/dist/src/lib/{services → aws/services}/cloudtrail/index.d.ts +0 -0
  201. /package/dist/src/lib/{services → aws/services}/cloudtrail/index.js +0 -0
  202. /package/dist/src/lib/{services → aws/services}/cloudtrail/main.d.ts +0 -0
  203. /package/dist/src/lib/{services → aws/services}/cloudtrail/main.js +0 -0
  204. /package/dist/src/lib/{services → aws/services}/cloudtrail/types.d.ts +0 -0
  205. /package/dist/src/lib/{services/cloudwatch → aws/services/cloudtrail}/types.js +0 -0
  206. /package/dist/src/lib/{services → aws/services}/cloudwatch/index.d.ts +0 -0
  207. /package/dist/src/lib/{services → aws/services}/cloudwatch/index.js +0 -0
  208. /package/dist/src/lib/{services → aws/services}/cloudwatch/logs.d.ts +0 -0
  209. /package/dist/src/lib/{services → aws/services}/cloudwatch/logs.js +0 -0
  210. /package/dist/src/lib/{services → aws/services}/cloudwatch/main.d.ts +0 -0
  211. /package/dist/src/lib/{services → aws/services}/cloudwatch/main.js +0 -0
  212. /package/dist/src/lib/{services → aws/services}/cloudwatch/types.d.ts +0 -0
  213. /package/dist/src/lib/{services/dynamodb → aws/services/cloudwatch}/types.js +0 -0
  214. /package/dist/src/lib/{services → aws/services}/codebuild/index.d.ts +0 -0
  215. /package/dist/src/lib/{services → aws/services}/codebuild/index.js +0 -0
  216. /package/dist/src/lib/{services → aws/services}/codebuild/main.d.ts +0 -0
  217. /package/dist/src/lib/{services → aws/services}/codebuild/main.js +0 -0
  218. /package/dist/src/lib/{services → aws/services}/constants.d.ts +0 -0
  219. /package/dist/src/lib/{services → aws/services}/constants.js +0 -0
  220. /package/dist/src/lib/{services → aws/services}/dynamodb/index.d.ts +0 -0
  221. /package/dist/src/lib/{services → aws/services}/dynamodb/index.js +0 -0
  222. /package/dist/src/lib/{services → aws/services}/dynamodb/main.d.ts +0 -0
  223. /package/dist/src/lib/{services → aws/services}/dynamodb/main.js +0 -0
  224. /package/dist/src/lib/{services → aws/services}/dynamodb/types.d.ts +0 -0
  225. /package/dist/src/lib/{services/elastic-container-service → aws/services/dynamodb}/types.js +0 -0
  226. /package/dist/src/lib/{services → aws/services}/elastic-container-registry/index.d.ts +0 -0
  227. /package/dist/src/lib/{services → aws/services}/elastic-container-registry/index.js +0 -0
  228. /package/dist/src/lib/{services → aws/services}/elastic-container-registry/main.d.ts +0 -0
  229. /package/dist/src/lib/{services → aws/services}/elastic-container-registry/main.js +0 -0
  230. /package/dist/src/lib/{services → aws/services}/elastic-container-service/index.d.ts +0 -0
  231. /package/dist/src/lib/{services → aws/services}/elastic-container-service/index.js +0 -0
  232. /package/dist/src/lib/{services → aws/services}/elastic-container-service/main.d.ts +0 -0
  233. /package/dist/src/lib/{services → aws/services}/elastic-container-service/main.js +0 -0
  234. /package/dist/src/lib/{services → aws/services}/elastic-container-service/types.d.ts +0 -0
  235. /package/dist/src/lib/{services/elastic-file-system → aws/services/elastic-container-service}/types.js +0 -0
  236. /package/dist/src/lib/{services → aws/services}/elastic-file-system/index.d.ts +0 -0
  237. /package/dist/src/lib/{services → aws/services}/elastic-file-system/index.js +0 -0
  238. /package/dist/src/lib/{services → aws/services}/elastic-file-system/main.d.ts +0 -0
  239. /package/dist/src/lib/{services → aws/services}/elastic-file-system/main.js +0 -0
  240. /package/dist/src/lib/{services → aws/services}/elastic-file-system/types.d.ts +0 -0
  241. /package/dist/src/lib/{services/elastic-kubernetes-service → aws/services/elastic-file-system}/types.js +0 -0
  242. /package/dist/src/lib/{services → aws/services}/elastic-kubernetes-service/index.d.ts +0 -0
  243. /package/dist/src/lib/{services → aws/services}/elastic-kubernetes-service/index.js +0 -0
  244. /package/dist/src/lib/{services → aws/services}/elastic-kubernetes-service/main.d.ts +0 -0
  245. /package/dist/src/lib/{services → aws/services}/elastic-kubernetes-service/main.js +0 -0
  246. /package/dist/src/lib/{services → aws/services}/elastic-kubernetes-service/types.d.ts +0 -0
  247. /package/dist/src/lib/{services/elasticache → aws/services/elastic-kubernetes-service}/types.js +0 -0
  248. /package/dist/src/lib/{services → aws/services}/elasticache/index.d.ts +0 -0
  249. /package/dist/src/lib/{services → aws/services}/elasticache/index.js +0 -0
  250. /package/dist/src/lib/{services → aws/services}/elasticache/main.d.ts +0 -0
  251. /package/dist/src/lib/{services → aws/services}/elasticache/main.js +0 -0
  252. /package/dist/src/lib/{services → aws/services}/elasticache/types.d.ts +0 -0
  253. /package/dist/src/lib/{services/eventbridge → aws/services/elasticache}/types.js +0 -0
  254. /package/dist/src/lib/{services → aws/services}/eventbridge/index.d.ts +0 -0
  255. /package/dist/src/lib/{services → aws/services}/eventbridge/index.js +0 -0
  256. /package/dist/src/lib/{services → aws/services}/eventbridge/main.d.ts +0 -0
  257. /package/dist/src/lib/{services → aws/services}/eventbridge/main.js +0 -0
  258. /package/dist/src/lib/{services → aws/services}/eventbridge/target.d.ts +0 -0
  259. /package/dist/src/lib/{services → aws/services}/eventbridge/target.js +0 -0
  260. /package/dist/src/lib/{services → aws/services}/eventbridge/types.d.ts +0 -0
  261. /package/dist/src/lib/{services/evidently → aws/services/eventbridge}/types.js +0 -0
  262. /package/dist/src/lib/{services → aws/services}/evidently/index.d.ts +0 -0
  263. /package/dist/src/lib/{services → aws/services}/evidently/index.js +0 -0
  264. /package/dist/src/lib/{services → aws/services}/evidently/main.d.ts +0 -0
  265. /package/dist/src/lib/{services → aws/services}/evidently/main.js +0 -0
  266. /package/dist/src/lib/{services → aws/services}/evidently/types.d.ts +0 -0
  267. /package/dist/src/lib/{services/key-management-service → aws/services/evidently}/types.js +0 -0
  268. /package/dist/src/lib/{services → aws/services}/identity-access-management/index.d.ts +0 -0
  269. /package/dist/src/lib/{services → aws/services}/identity-access-management/index.js +0 -0
  270. /package/dist/src/lib/{services → aws/services}/identity-access-management/main.d.ts +0 -0
  271. /package/dist/src/lib/{services → aws/services}/identity-access-management/main.js +0 -0
  272. /package/dist/src/lib/{services → aws/services}/index.d.ts +0 -0
  273. /package/dist/src/lib/{services → aws/services}/index.js +0 -0
  274. /package/dist/src/lib/{services → aws/services}/key-management-service/index.d.ts +0 -0
  275. /package/dist/src/lib/{services → aws/services}/key-management-service/index.js +0 -0
  276. /package/dist/src/lib/{services → aws/services}/key-management-service/main.d.ts +0 -0
  277. /package/dist/src/lib/{services → aws/services}/key-management-service/main.js +0 -0
  278. /package/dist/src/lib/{services → aws/services}/key-management-service/types.d.ts +0 -0
  279. /package/dist/src/lib/{services/lambda → aws/services/key-management-service}/types.js +0 -0
  280. /package/dist/src/lib/{services → aws/services}/lambda/index.d.ts +0 -0
  281. /package/dist/src/lib/{services → aws/services}/lambda/index.js +0 -0
  282. /package/dist/src/lib/{services → aws/services}/lambda/main.d.ts +0 -0
  283. /package/dist/src/lib/{services → aws/services}/lambda/main.js +0 -0
  284. /package/dist/src/lib/{services → aws/services}/lambda/types.d.ts +0 -0
  285. /package/dist/src/lib/{services/route53 → aws/services/lambda}/types.js +0 -0
  286. /package/dist/src/lib/{services → aws/services}/route53/index.d.ts +0 -0
  287. /package/dist/src/lib/{services → aws/services}/route53/index.js +0 -0
  288. /package/dist/src/lib/{services → aws/services}/route53/main.d.ts +0 -0
  289. /package/dist/src/lib/{services → aws/services}/route53/main.js +0 -0
  290. /package/dist/src/lib/{services → aws/services}/route53/types.d.ts +0 -0
  291. /package/dist/src/lib/{services/simple-notification-service → aws/services/route53}/types.js +0 -0
  292. /package/dist/src/lib/{services → aws/services}/secrets-manager/index.d.ts +0 -0
  293. /package/dist/src/lib/{services → aws/services}/secrets-manager/index.js +0 -0
  294. /package/dist/src/lib/{services → aws/services}/secrets-manager/main.d.ts +0 -0
  295. /package/dist/src/lib/{services → aws/services}/secrets-manager/main.js +0 -0
  296. /package/dist/src/lib/{services → aws/services}/simple-notification-service/index.d.ts +0 -0
  297. /package/dist/src/lib/{services → aws/services}/simple-notification-service/index.js +0 -0
  298. /package/dist/src/lib/{services → aws/services}/simple-notification-service/main.d.ts +0 -0
  299. /package/dist/src/lib/{services → aws/services}/simple-notification-service/main.js +0 -0
  300. /package/dist/src/lib/{services → aws/services}/simple-notification-service/types.d.ts +0 -0
  301. /package/dist/src/lib/{services/simple-queue-service → aws/services/simple-notification-service}/types.js +0 -0
  302. /package/dist/src/lib/{services → aws/services}/simple-queue-service/index.d.ts +0 -0
  303. /package/dist/src/lib/{services → aws/services}/simple-queue-service/index.js +0 -0
  304. /package/dist/src/lib/{services → aws/services}/simple-queue-service/main.d.ts +0 -0
  305. /package/dist/src/lib/{services → aws/services}/simple-queue-service/main.js +0 -0
  306. /package/dist/src/lib/{services → aws/services}/simple-queue-service/types.d.ts +0 -0
  307. /package/dist/src/lib/{services/simple-storage-service → aws/services/simple-queue-service}/types.js +0 -0
  308. /package/dist/src/lib/{services → aws/services}/simple-storage-service/index.d.ts +0 -0
  309. /package/dist/src/lib/{services → aws/services}/simple-storage-service/index.js +0 -0
  310. /package/dist/src/lib/{services → aws/services}/simple-storage-service/main.d.ts +0 -0
  311. /package/dist/src/lib/{services → aws/services}/simple-storage-service/main.js +0 -0
  312. /package/dist/src/lib/{services → aws/services}/simple-storage-service/types.d.ts +0 -0
  313. /package/dist/src/lib/{services/step-function → aws/services/simple-storage-service}/types.js +0 -0
  314. /package/dist/src/lib/{services → aws/services}/step-function/index.d.ts +0 -0
  315. /package/dist/src/lib/{services → aws/services}/step-function/index.js +0 -0
  316. /package/dist/src/lib/{services → aws/services}/step-function/main.d.ts +0 -0
  317. /package/dist/src/lib/{services → aws/services}/step-function/main.js +0 -0
  318. /package/dist/src/lib/{services → aws/services}/step-function/types.d.ts +0 -0
  319. /package/dist/src/lib/{services/systems-manager → aws/services/step-function}/types.js +0 -0
  320. /package/dist/src/lib/{services → aws/services}/systems-manager/index.d.ts +0 -0
  321. /package/dist/src/lib/{services → aws/services}/systems-manager/index.js +0 -0
  322. /package/dist/src/lib/{services → aws/services}/systems-manager/main.d.ts +0 -0
  323. /package/dist/src/lib/{services → aws/services}/systems-manager/main.js +0 -0
  324. /package/dist/src/lib/{services → aws/services}/systems-manager/types.d.ts +0 -0
  325. /package/dist/src/lib/{services/web-application-firewall → aws/services/systems-manager}/types.js +0 -0
  326. /package/dist/src/lib/{services → aws/services}/virtual-private-cloud/index.d.ts +0 -0
  327. /package/dist/src/lib/{services → aws/services}/virtual-private-cloud/index.js +0 -0
  328. /package/dist/src/lib/{services → aws/services}/virtual-private-cloud/main.d.ts +0 -0
  329. /package/dist/src/lib/{services → aws/services}/virtual-private-cloud/main.js +0 -0
  330. /package/dist/src/lib/{services → aws/services}/web-application-firewall/index.d.ts +0 -0
  331. /package/dist/src/lib/{services → aws/services}/web-application-firewall/index.js +0 -0
  332. /package/dist/src/lib/{services → aws/services}/web-application-firewall/main.d.ts +0 -0
  333. /package/dist/src/lib/{services → aws/services}/web-application-firewall/main.js +0 -0
  334. /package/dist/src/lib/{services → aws/services}/web-application-firewall/types.d.ts +0 -0
  335. /package/dist/src/lib/{types/aws/index.js → aws/services/web-application-firewall/types.js} +0 -0
  336. /package/dist/src/lib/{types/aws → aws/types}/index.d.ts +0 -0
  337. /package/src/lib/{construct → aws/construct}/api-to-any-target/index.ts +0 -0
  338. /package/src/lib/{construct → aws/construct}/api-to-any-target/main.ts +0 -0
  339. /package/src/lib/{construct → aws/construct}/api-to-any-target/target.ts +0 -0
  340. /package/src/lib/{construct → aws/construct}/api-to-any-target/types.ts +0 -0
  341. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target/api.ts +0 -0
  342. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target/event.ts +0 -0
  343. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target/index.ts +0 -0
  344. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target/main.ts +0 -0
  345. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target/types.ts +0 -0
  346. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/api-destined-lambda.ts +0 -0
  347. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/index.ts +0 -0
  348. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/main.ts +0 -0
  349. /package/src/lib/{construct → aws/construct}/api-to-eventbridge-target-with-sns/types.ts +0 -0
  350. /package/src/lib/{construct → aws/construct}/api-to-lambda-target/api.ts +0 -0
  351. /package/src/lib/{construct → aws/construct}/api-to-lambda-target/index.ts +0 -0
  352. /package/src/lib/{construct → aws/construct}/api-to-lambda-target/main.ts +0 -0
  353. /package/src/lib/{construct → aws/construct}/api-to-lambda-target/types.ts +0 -0
  354. /package/src/lib/{construct → aws/construct}/application-configuration/index.ts +0 -0
  355. /package/src/lib/{construct → aws/construct}/application-configuration/main.ts +0 -0
  356. /package/src/lib/{construct → aws/construct}/application-configuration/types.ts +0 -0
  357. /package/src/lib/{construct → aws/construct}/graphql-api-lambda/index.ts +0 -0
  358. /package/src/lib/{construct → aws/construct}/graphql-api-lambda/main.ts +0 -0
  359. /package/src/lib/{construct → aws/construct}/graphql-api-lambda/types.ts +0 -0
  360. /package/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/index.ts +0 -0
  361. /package/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/main.ts +0 -0
  362. /package/src/lib/{construct → aws/construct}/graphql-api-lambda-with-cache/types.ts +0 -0
  363. /package/src/lib/{construct → aws/construct}/index.ts +0 -0
  364. /package/src/lib/{construct → aws/construct}/lambda-with-iam-access/index.ts +0 -0
  365. /package/src/lib/{construct → aws/construct}/lambda-with-iam-access/main.ts +0 -0
  366. /package/src/lib/{construct → aws/construct}/lambda-with-iam-access/types.ts +0 -0
  367. /package/src/lib/{construct → aws/construct}/rest-api-lambda/index.ts +0 -0
  368. /package/src/lib/{construct → aws/construct}/rest-api-lambda/main.ts +0 -0
  369. /package/src/lib/{construct → aws/construct}/rest-api-lambda/types.ts +0 -0
  370. /package/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/index.ts +0 -0
  371. /package/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/main.ts +0 -0
  372. /package/src/lib/{construct → aws/construct}/rest-api-lambda-with-cache/types.ts +0 -0
  373. /package/src/lib/{construct → aws/construct}/site-with-ecs-backend/constants.ts +0 -0
  374. /package/src/lib/{construct → aws/construct}/site-with-ecs-backend/index.ts +0 -0
  375. /package/src/lib/{construct → aws/construct}/site-with-ecs-backend/main.ts +0 -0
  376. /package/src/lib/{construct → aws/construct}/site-with-ecs-backend/types.ts +0 -0
  377. /package/src/lib/{construct → aws/construct}/static-asset-deployment/index.ts +0 -0
  378. /package/src/lib/{construct → aws/construct}/static-asset-deployment/main.ts +0 -0
  379. /package/src/lib/{construct → aws/construct}/static-asset-deployment/types.ts +0 -0
  380. /package/src/lib/{construct → aws/construct}/static-site/index.ts +0 -0
  381. /package/src/lib/{construct → aws/construct}/static-site/main.ts +0 -0
  382. /package/src/lib/{construct → aws/construct}/static-site/types.ts +0 -0
  383. /package/src/lib/{services → aws/services}/api-gateway/index.ts +0 -0
  384. /package/src/lib/{services → aws/services}/api-gateway/main.ts +0 -0
  385. /package/src/lib/{services → aws/services}/api-gateway/types.ts +0 -0
  386. /package/src/lib/{services → aws/services}/appconfig/constants.ts +0 -0
  387. /package/src/lib/{services → aws/services}/appconfig/index.ts +0 -0
  388. /package/src/lib/{services → aws/services}/appconfig/main.ts +0 -0
  389. /package/src/lib/{services → aws/services}/appconfig/types.ts +0 -0
  390. /package/src/lib/{services → aws/services}/certificate-manager/index.ts +0 -0
  391. /package/src/lib/{services → aws/services}/certificate-manager/main.ts +0 -0
  392. /package/src/lib/{services → aws/services}/certificate-manager/types.ts +0 -0
  393. /package/src/lib/{services → aws/services}/cloudfront/index.ts +0 -0
  394. /package/src/lib/{services → aws/services}/cloudfront/main.ts +0 -0
  395. /package/src/lib/{services → aws/services}/cloudfront/types.ts +0 -0
  396. /package/src/lib/{services → aws/services}/cloudtrail/index.ts +0 -0
  397. /package/src/lib/{services → aws/services}/cloudtrail/main.ts +0 -0
  398. /package/src/lib/{services → aws/services}/cloudtrail/types.ts +0 -0
  399. /package/src/lib/{services → aws/services}/cloudwatch/index.ts +0 -0
  400. /package/src/lib/{services → aws/services}/cloudwatch/logs.ts +0 -0
  401. /package/src/lib/{services → aws/services}/cloudwatch/main.ts +0 -0
  402. /package/src/lib/{services → aws/services}/cloudwatch/types.ts +0 -0
  403. /package/src/lib/{services → aws/services}/codebuild/index.ts +0 -0
  404. /package/src/lib/{services → aws/services}/codebuild/main.ts +0 -0
  405. /package/src/lib/{services → aws/services}/constants.ts +0 -0
  406. /package/src/lib/{services → aws/services}/dynamodb/index.ts +0 -0
  407. /package/src/lib/{services → aws/services}/dynamodb/main.ts +0 -0
  408. /package/src/lib/{services → aws/services}/dynamodb/types.ts +0 -0
  409. /package/src/lib/{services → aws/services}/elastic-container-registry/index.ts +0 -0
  410. /package/src/lib/{services → aws/services}/elastic-container-registry/main.ts +0 -0
  411. /package/src/lib/{services → aws/services}/elastic-container-service/index.ts +0 -0
  412. /package/src/lib/{services → aws/services}/elastic-container-service/main.ts +0 -0
  413. /package/src/lib/{services → aws/services}/elastic-container-service/types.ts +0 -0
  414. /package/src/lib/{services → aws/services}/elastic-file-system/index.ts +0 -0
  415. /package/src/lib/{services → aws/services}/elastic-file-system/main.ts +0 -0
  416. /package/src/lib/{services → aws/services}/elastic-file-system/types.ts +0 -0
  417. /package/src/lib/{services → aws/services}/elastic-kubernetes-service/index.ts +0 -0
  418. /package/src/lib/{services → aws/services}/elastic-kubernetes-service/main.ts +0 -0
  419. /package/src/lib/{services → aws/services}/elastic-kubernetes-service/types.ts +0 -0
  420. /package/src/lib/{services → aws/services}/elasticache/index.ts +0 -0
  421. /package/src/lib/{services → aws/services}/elasticache/main.ts +0 -0
  422. /package/src/lib/{services → aws/services}/elasticache/types.ts +0 -0
  423. /package/src/lib/{services → aws/services}/eventbridge/index.ts +0 -0
  424. /package/src/lib/{services → aws/services}/eventbridge/main.ts +0 -0
  425. /package/src/lib/{services → aws/services}/eventbridge/target.ts +0 -0
  426. /package/src/lib/{services → aws/services}/eventbridge/types.ts +0 -0
  427. /package/src/lib/{services → aws/services}/evidently/index.ts +0 -0
  428. /package/src/lib/{services → aws/services}/evidently/main.ts +0 -0
  429. /package/src/lib/{services → aws/services}/evidently/types.ts +0 -0
  430. /package/src/lib/{services → aws/services}/identity-access-management/index.ts +0 -0
  431. /package/src/lib/{services → aws/services}/identity-access-management/main.ts +0 -0
  432. /package/src/lib/{services → aws/services}/index.ts +0 -0
  433. /package/src/lib/{services → aws/services}/key-management-service/index.ts +0 -0
  434. /package/src/lib/{services → aws/services}/key-management-service/main.ts +0 -0
  435. /package/src/lib/{services → aws/services}/key-management-service/types.ts +0 -0
  436. /package/src/lib/{services → aws/services}/lambda/index.ts +0 -0
  437. /package/src/lib/{services → aws/services}/lambda/main.ts +0 -0
  438. /package/src/lib/{services → aws/services}/lambda/types.ts +0 -0
  439. /package/src/lib/{services → aws/services}/route53/index.ts +0 -0
  440. /package/src/lib/{services → aws/services}/route53/main.ts +0 -0
  441. /package/src/lib/{services → aws/services}/route53/types.ts +0 -0
  442. /package/src/lib/{services → aws/services}/secrets-manager/index.ts +0 -0
  443. /package/src/lib/{services → aws/services}/secrets-manager/main.ts +0 -0
  444. /package/src/lib/{services → aws/services}/simple-notification-service/index.ts +0 -0
  445. /package/src/lib/{services → aws/services}/simple-notification-service/main.ts +0 -0
  446. /package/src/lib/{services → aws/services}/simple-notification-service/types.ts +0 -0
  447. /package/src/lib/{services → aws/services}/simple-queue-service/index.ts +0 -0
  448. /package/src/lib/{services → aws/services}/simple-queue-service/main.ts +0 -0
  449. /package/src/lib/{services → aws/services}/simple-queue-service/types.ts +0 -0
  450. /package/src/lib/{services → aws/services}/simple-storage-service/index.ts +0 -0
  451. /package/src/lib/{services → aws/services}/simple-storage-service/main.ts +0 -0
  452. /package/src/lib/{services → aws/services}/simple-storage-service/types.ts +0 -0
  453. /package/src/lib/{services → aws/services}/step-function/index.ts +0 -0
  454. /package/src/lib/{services → aws/services}/step-function/main.ts +0 -0
  455. /package/src/lib/{services → aws/services}/step-function/types.ts +0 -0
  456. /package/src/lib/{services → aws/services}/systems-manager/index.ts +0 -0
  457. /package/src/lib/{services → aws/services}/systems-manager/main.ts +0 -0
  458. /package/src/lib/{services → aws/services}/systems-manager/types.ts +0 -0
  459. /package/src/lib/{services → aws/services}/virtual-private-cloud/index.ts +0 -0
  460. /package/src/lib/{services → aws/services}/virtual-private-cloud/main.ts +0 -0
  461. /package/src/lib/{services → aws/services}/web-application-firewall/index.ts +0 -0
  462. /package/src/lib/{services → aws/services}/web-application-firewall/main.ts +0 -0
  463. /package/src/lib/{services → aws/services}/web-application-firewall/types.ts +0 -0
  464. /package/src/lib/{types/aws → aws/types}/index.ts +0 -0
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommonAzureConstruct = void 0;
4
+ const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
5
+ const cdktf_1 = require("cdktf");
6
+ const common_1 = require("../../common");
7
+ const services_1 = require("../services");
8
+ class CommonAzureConstruct extends cdktf_1.TerraformStack {
9
+ id;
10
+ fullyQualifiedDomainName;
11
+ storageManager;
12
+ constructor(scope, id, props) {
13
+ super(scope, id);
14
+ this.props = props;
15
+ this.id = id;
16
+ this.storageManager = new services_1.AzureStorageManager();
17
+ this.determineFullyQualifiedDomain();
18
+ new provider_1.AzurermProvider(this, `${this.id}-provider`, this.props);
19
+ }
20
+ /**
21
+ * @summary Determine the fully qualified domain name based on domainName & subDomain
22
+ */
23
+ determineFullyQualifiedDomain() {
24
+ this.fullyQualifiedDomainName = this.props.subDomain
25
+ ? `${this.props.subDomain}.${this.props.domainName}`
26
+ : this.props.domainName;
27
+ }
28
+ /**
29
+ * @summary Utility method to determine if the initialisation is in development (dev) stage
30
+ * This is determined by the stage property injected via cdk context
31
+ */
32
+ isDevelopmentStage = () => (0, common_1.isDevStage)(this.props.stage);
33
+ /**
34
+ * @summary Utility method to determine if the initialisation is in test (tst) stage
35
+ * This is determined by the stage property injected via cdk context
36
+ */
37
+ isTestStage = () => (0, common_1.isTestStage)(this.props.stage);
38
+ /**
39
+ * @summary Utility method to determine if the initialisation is in uat (uat) stage
40
+ * This is determined by the stage property injected via cdk context
41
+ */
42
+ isUatStage = () => (0, common_1.isUatStage)(this.props.stage);
43
+ /**
44
+ * @summary Utility method to determine if the initialisation is in production (prd) stage
45
+ * This is determined by the stage property injected via cdk context
46
+ */
47
+ isProductionStage = () => (0, common_1.isPrdStage)(this.props.stage);
48
+ }
49
+ exports.CommonAzureConstruct = CommonAzureConstruct;
@@ -0,0 +1,3 @@
1
+ export * from './construct';
2
+ export * from './stack';
3
+ export * from './types';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./construct"), exports);
18
+ __exportStar(require("./stack"), exports);
19
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,52 @@
1
+ import { CommonAzureConstruct } from './construct';
2
+ import { CommonAzureStackProps } from './types';
3
+ import { TerraformStack } from 'cdktf';
4
+ import { Construct } from 'constructs';
5
+ /**
6
+ * @classdesc Common stack to use as a base for all higher level constructs.
7
+ * @example
8
+ * import { CommonAzureStack } from '@gradientedge/cdk-utils'
9
+ *
10
+ * class CustomStack extends CommonAzureStack {
11
+ * constructor(parent: App, name: string, props: StackProps) {
12
+ * super(parent, name, props)
13
+ * // provision resources
14
+ * }
15
+ * }
16
+ */
17
+ export declare class CommonAzureStack extends TerraformStack {
18
+ construct: CommonAzureConstruct;
19
+ props: CommonAzureStackProps;
20
+ constructor(parent: Construct, name: string, props: CommonAzureStackProps);
21
+ /**
22
+ * @summary Method to determine the core CDK construct properties injected via context cdktf.json
23
+ * @param props The stack properties
24
+ * @returns The stack properties
25
+ */
26
+ protected determineConstructProps(props: CommonAzureStackProps): {
27
+ domainName: any;
28
+ extraContexts: any;
29
+ features: any;
30
+ name: any;
31
+ resourceGroupName: any;
32
+ skipStageForARecords: any;
33
+ stage: any;
34
+ subDomain: any;
35
+ };
36
+ /**
37
+ * @summary Method to determine extra cdk contexts apart from the main cdktf.json
38
+ * - Sets the properties from the extra contexts into cdk node context
39
+ * - Primary use is to have layered config in separate files to enable easier maintenance and readability
40
+ */
41
+ protected determineExtraContexts(): void;
42
+ /**
43
+ * @summary Method to determine extra cdk stage contexts apart from the main cdktf.json
44
+ * - Sets the properties from the extra stage contexts into cdk node context
45
+ * - Primary use is to have layered config for each environment which is injected into the context
46
+ */
47
+ protected determineStageContexts(): void;
48
+ /**
49
+ * @summary Determine the fully qualified domain name based on domainName & subDomain
50
+ */
51
+ protected fullyQualifiedDomain(): any;
52
+ }
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CommonAzureStack = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const construct_1 = require("./construct");
9
+ const app_root_path_1 = __importDefault(require("app-root-path"));
10
+ const cdktf_1 = require("cdktf");
11
+ const common_1 = require("../../common");
12
+ /**
13
+ * @classdesc Common stack to use as a base for all higher level constructs.
14
+ * @example
15
+ * import { CommonAzureStack } from '@gradientedge/cdk-utils'
16
+ *
17
+ * class CustomStack extends CommonAzureStack {
18
+ * constructor(parent: App, name: string, props: StackProps) {
19
+ * super(parent, name, props)
20
+ * // provision resources
21
+ * }
22
+ * }
23
+ */
24
+ class CommonAzureStack extends cdktf_1.TerraformStack {
25
+ construct;
26
+ props;
27
+ constructor(parent, name, props) {
28
+ super(parent, name);
29
+ /* determine extra cdk contexts */
30
+ this.determineExtraContexts();
31
+ /* determine extra cdk stage contexts */
32
+ this.determineStageContexts();
33
+ this.props = this.determineConstructProps(props);
34
+ /* initialise the construct */
35
+ this.construct = new construct_1.CommonAzureConstruct(this, 'cdk-utils', this.props);
36
+ }
37
+ /**
38
+ * @summary Method to determine the core CDK construct properties injected via context cdktf.json
39
+ * @param props The stack properties
40
+ * @returns The stack properties
41
+ */
42
+ determineConstructProps(props) {
43
+ return {
44
+ domainName: this.node.tryGetContext('domainName'),
45
+ extraContexts: this.node.tryGetContext('extraContexts'),
46
+ features: this.node.tryGetContext('features'),
47
+ name: this.node.tryGetContext('resourceGroupName'),
48
+ resourceGroupName: this.node.tryGetContext('resourceGroupName'),
49
+ skipStageForARecords: this.node.tryGetContext('skipStageForARecords'),
50
+ stage: this.node.tryGetContext('stage'),
51
+ subDomain: this.node.tryGetContext('subDomain'),
52
+ };
53
+ }
54
+ /**
55
+ * @summary Method to determine extra cdk contexts apart from the main cdktf.json
56
+ * - Sets the properties from the extra contexts into cdk node context
57
+ * - Primary use is to have layered config in separate files to enable easier maintenance and readability
58
+ */
59
+ determineExtraContexts() {
60
+ const extraContexts = this.node.tryGetContext('extraContexts');
61
+ const debug = this.node.tryGetContext('debug');
62
+ if (!extraContexts) {
63
+ if (debug)
64
+ console.debug(`No additional contexts provided. Using default context properties from cdktf.json`);
65
+ return;
66
+ }
67
+ extraContexts.forEach((context) => {
68
+ const extraContextPath = `${app_root_path_1.default.path}/${context}`;
69
+ /* scenario where extra context is configured in cdk.json but absent in file system */
70
+ if (!fs_1.default.existsSync(extraContextPath))
71
+ throw `Extra context properties unavailable in path:${extraContextPath}`;
72
+ /* read the extra properties */
73
+ const extraContextPropsBuffer = fs_1.default.readFileSync(extraContextPath);
74
+ if (debug)
75
+ console.debug(`Adding additional contexts provided in ${extraContextPath}`);
76
+ /* parse as JSON properties */
77
+ const extraContextProps = JSON.parse(extraContextPropsBuffer.toString('utf-8'));
78
+ /* set each of the property into the cdk node context */
79
+ Object.keys(extraContextProps).forEach((propKey) => {
80
+ this.node.setContext(propKey, extraContextProps[propKey]);
81
+ });
82
+ });
83
+ }
84
+ /**
85
+ * @summary Method to determine extra cdk stage contexts apart from the main cdktf.json
86
+ * - Sets the properties from the extra stage contexts into cdk node context
87
+ * - Primary use is to have layered config for each environment which is injected into the context
88
+ */
89
+ determineStageContexts() {
90
+ const stage = this.node.tryGetContext('stage');
91
+ const stageContextPath = this.node.tryGetContext('stageContextPath') || 'cdkEnv';
92
+ const stageContextFilePath = `${app_root_path_1.default.path}/${stageContextPath}/${stage}.json`;
93
+ const debug = this.node.tryGetContext('debug');
94
+ if ((0, common_1.isDevStage)(stage)) {
95
+ if (debug)
96
+ console.debug(`Development stage. Using default stage context properties`);
97
+ }
98
+ /* alert default context usage when extra stage config is missing */
99
+ if (!fs_1.default.existsSync(stageContextFilePath)) {
100
+ if (debug)
101
+ console.debug(`Stage specific context properties unavailable in path:${stageContextFilePath}`);
102
+ if (debug)
103
+ console.debug(`Using default stage context properties for ${stage} stage`);
104
+ return;
105
+ }
106
+ /* read the extra properties */
107
+ const stageContextPropsBuffer = fs_1.default.readFileSync(stageContextFilePath);
108
+ if (debug)
109
+ console.debug(`Adding additional stage contexts provided in ${stageContextFilePath}`);
110
+ /* parse as JSON properties */
111
+ const stageContextProps = JSON.parse(stageContextPropsBuffer.toString('utf-8'));
112
+ /* set each of the property into the cdk node context */
113
+ Object.keys(stageContextProps).forEach((propKey) => {
114
+ /* handle object, array properties */
115
+ if (typeof stageContextProps[propKey] === 'object' && !Array.isArray(stageContextProps[propKey])) {
116
+ this.node.setContext(propKey, {
117
+ ...this.node.tryGetContext(propKey),
118
+ ...stageContextProps[propKey],
119
+ });
120
+ }
121
+ else {
122
+ /* handle all other primitive properties */
123
+ this.node.setContext(propKey, stageContextProps[propKey]);
124
+ }
125
+ });
126
+ }
127
+ /**
128
+ * @summary Determine the fully qualified domain name based on domainName & subDomain
129
+ */
130
+ fullyQualifiedDomain() {
131
+ const domainName = this.node.tryGetContext('domainName');
132
+ const subDomain = this.node.tryGetContext('subDomain');
133
+ return subDomain ? `${subDomain}.${domainName}` : domainName;
134
+ }
135
+ }
136
+ exports.CommonAzureStack = CommonAzureStack;
@@ -0,0 +1,7 @@
1
+ import { AzurermProviderConfig } from '@cdktf/provider-azurerm/lib/provider';
2
+ import { BaseProps } from '../../common';
3
+ /**
4
+ */
5
+ export interface CommonAzureStackProps extends BaseProps, AzurermProviderConfig {
6
+ resourceGroupName?: string;
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ export * from './common';
2
+ export * from './services';
3
+ export * from './types';
4
+ export * from './utils';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./common"), exports);
18
+ __exportStar(require("./services"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ __exportStar(require("./utils"), exports);
@@ -0,0 +1 @@
1
+ export * from './storage';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./storage"), exports);
@@ -0,0 +1,2 @@
1
+ export * from './main';
2
+ export * from './types';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./main"), exports);
18
+ __exportStar(require("./types"), exports);
@@ -0,0 +1,43 @@
1
+ import { CommonAzureConstruct } from '../../common';
2
+ import { StorageAccountProps, StorageBlobProps, StorageContainerProps } from './types';
3
+ /**
4
+ * @classdesc Provides operations on Azure Storage
5
+ * - A new instance of this class is injected into {@link CommonAzureConstruct} constructor.
6
+ * - If a custom construct extends {@link CommonAzureConstruct}, an instance is available within the context.
7
+ * @example
8
+ * ```
9
+ * import { CommonAzureConstruct, CommonAzureStackProps } from '@gradientedge/cdk-utils'
10
+ *
11
+ * class CustomConstruct extends CommonAzureConstruct {
12
+ * constructor(parent: Construct, id: string, props: CommonAzureStackProps) {
13
+ * super(parent, id, props)
14
+ * this.props = props
15
+ * this.storageManager.createStorageAccount('MyAccount', this, props)
16
+ * }
17
+ * }
18
+ * @see [CDKTF S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
19
+ * ```
20
+ */
21
+ export declare class AzureStorageManager {
22
+ /**
23
+ * @summary Method to create a new storage account
24
+ * @param id scoped id of the resource
25
+ * @param scope scope in which this resource is defined
26
+ * @param props storage account properties
27
+ */
28
+ createStorageAccount(id: string, scope: CommonAzureConstruct, props: StorageAccountProps): void;
29
+ /**
30
+ * @summary Method to create a new storage container
31
+ * @param id scoped id of the resource
32
+ * @param scope scope in which this resource is defined
33
+ * @param props storage container properties
34
+ */
35
+ createStorageContainer(id: string, scope: CommonAzureConstruct, props: StorageContainerProps): void;
36
+ /**
37
+ * @summary Method to create a new storage blob
38
+ * @param id scoped id of the resource
39
+ * @param scope scope in which this resource is defined
40
+ * @param props storage blob properties
41
+ */
42
+ createStorageBlob(id: string, scope: CommonAzureConstruct, props: StorageBlobProps): void;
43
+ }
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AzureStorageManager = void 0;
4
+ const data_azurerm_resource_group_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-resource-group");
5
+ const data_azurerm_storage_account_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-storage-account");
6
+ const data_azurerm_storage_container_1 = require("@cdktf/provider-azurerm/lib/data-azurerm-storage-container");
7
+ const storage_account_1 = require("@cdktf/provider-azurerm/lib/storage-account");
8
+ const storage_blob_1 = require("@cdktf/provider-azurerm/lib/storage-blob");
9
+ const storage_container_1 = require("@cdktf/provider-azurerm/lib/storage-container");
10
+ const utils_1 = require("../../utils");
11
+ /**
12
+ * @classdesc Provides operations on Azure Storage
13
+ * - A new instance of this class is injected into {@link CommonAzureConstruct} constructor.
14
+ * - If a custom construct extends {@link CommonAzureConstruct}, an instance is available within the context.
15
+ * @example
16
+ * ```
17
+ * import { CommonAzureConstruct, CommonAzureStackProps } from '@gradientedge/cdk-utils'
18
+ *
19
+ * class CustomConstruct extends CommonAzureConstruct {
20
+ * constructor(parent: Construct, id: string, props: CommonAzureStackProps) {
21
+ * super(parent, id, props)
22
+ * this.props = props
23
+ * this.storageManager.createStorageAccount('MyAccount', this, props)
24
+ * }
25
+ * }
26
+ * @see [CDKTF S3 Module]{@link https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_s3-readme.html}
27
+ * ```
28
+ */
29
+ class AzureStorageManager {
30
+ /**
31
+ * @summary Method to create a new storage account
32
+ * @param id scoped id of the resource
33
+ * @param scope scope in which this resource is defined
34
+ * @param props storage account properties
35
+ */
36
+ createStorageAccount(id, scope, props) {
37
+ if (!props)
38
+ throw `Props undefined for ${id}`;
39
+ const resourceGroup = new data_azurerm_resource_group_1.DataAzurermResourceGroup(scope, `${id}-sc-rg`, {
40
+ name: scope.props.resourceGroupName
41
+ ? `${scope.props.resourceGroupName}-${scope.props.stage}`
42
+ : `${props.resourceGroupName}-${scope.props.stage}`,
43
+ });
44
+ if (!resourceGroup)
45
+ throw `Resource group undefined for ${id}`;
46
+ const storageAccount = new storage_account_1.StorageAccount(scope, `${id}-sa`, {
47
+ ...props,
48
+ accountTier: props.accountTier ?? 'Standard',
49
+ location: props.location ?? resourceGroup.location,
50
+ name: `${props.name}-${scope.props.stage}`,
51
+ resourceGroupName: resourceGroup.name,
52
+ tags: props.tags ?? {
53
+ environment: scope.props.stage,
54
+ },
55
+ });
56
+ (0, utils_1.createTfOutput)(`${id}-storageAccountName`, scope, storageAccount.name);
57
+ (0, utils_1.createTfOutput)(`${id}-storageAccountFriendlyUniqueId`, scope, storageAccount.friendlyUniqueId);
58
+ (0, utils_1.createTfOutput)(`${id}-storageAccountId`, scope, storageAccount.id);
59
+ }
60
+ /**
61
+ * @summary Method to create a new storage container
62
+ * @param id scoped id of the resource
63
+ * @param scope scope in which this resource is defined
64
+ * @param props storage container properties
65
+ */
66
+ createStorageContainer(id, scope, props) {
67
+ if (!props)
68
+ throw `Props undefined for ${id}`;
69
+ const resourceGroup = new data_azurerm_resource_group_1.DataAzurermResourceGroup(scope, `${id}-sc-rg`, {
70
+ name: scope.props.resourceGroupName
71
+ ? `${scope.props.resourceGroupName}-${scope.props.stage}`
72
+ : `${props.resourceGroupName}-${scope.props.stage}`,
73
+ });
74
+ if (!resourceGroup)
75
+ throw `Resource group undefined for ${id}`;
76
+ const storageAccount = new data_azurerm_storage_account_1.DataAzurermStorageAccount(scope, `${id}-sa`, {
77
+ name: `${props.storageAccountName}-${scope.props.stage}`,
78
+ resourceGroupName: resourceGroup.name,
79
+ });
80
+ const storageContainer = new storage_container_1.StorageContainer(scope, `${id}-sc`, {
81
+ ...props,
82
+ name: `${props.name}-${scope.props.stage}`,
83
+ storageAccountName: storageAccount.name,
84
+ });
85
+ (0, utils_1.createTfOutput)(`${id}-storageContainerName`, scope, storageContainer.name);
86
+ (0, utils_1.createTfOutput)(`${id}-storageContainerFriendlyUniqueId`, scope, storageContainer.friendlyUniqueId);
87
+ (0, utils_1.createTfOutput)(`${id}-storageContainerId`, scope, storageContainer.id);
88
+ }
89
+ /**
90
+ * @summary Method to create a new storage blob
91
+ * @param id scoped id of the resource
92
+ * @param scope scope in which this resource is defined
93
+ * @param props storage blob properties
94
+ */
95
+ createStorageBlob(id, scope, props) {
96
+ if (!props)
97
+ throw `Props undefined for ${id}`;
98
+ const resourceGroup = new data_azurerm_resource_group_1.DataAzurermResourceGroup(scope, `${id}-sb-rg`, {
99
+ name: scope.props.resourceGroupName
100
+ ? `${scope.props.resourceGroupName}-${scope.props.stage}`
101
+ : `${props.resourceGroupName}-${scope.props.stage}`,
102
+ });
103
+ if (!resourceGroup)
104
+ throw `Resource group undefined for ${id}`;
105
+ const storageAccount = new data_azurerm_storage_account_1.DataAzurermStorageAccount(scope, `${id}-sa`, {
106
+ name: `${props.storageAccountName}-${scope.props.stage}`,
107
+ resourceGroupName: resourceGroup.name,
108
+ });
109
+ const storageContainer = new data_azurerm_storage_container_1.DataAzurermStorageContainer(scope, `${id}-sc`, {
110
+ name: `${props.storageContainerName}-${scope.props.stage}`,
111
+ storageAccountName: storageAccount.name,
112
+ });
113
+ const storageBlob = new storage_blob_1.StorageBlob(scope, `${id}-sb`, {
114
+ ...props,
115
+ name: `${props.name}-${scope.props.stage}`,
116
+ storageAccountName: storageAccount.name,
117
+ storageContainerName: storageContainer.name,
118
+ });
119
+ (0, utils_1.createTfOutput)(`${id}-storageBlobName`, scope, storageBlob.name);
120
+ (0, utils_1.createTfOutput)(`${id}-storageBlobFriendlyUniqueId`, scope, storageBlob.friendlyUniqueId);
121
+ (0, utils_1.createTfOutput)(`${id}-storageBlobId`, scope, storageBlob.id);
122
+ }
123
+ }
124
+ exports.AzureStorageManager = AzureStorageManager;
@@ -0,0 +1,10 @@
1
+ import { StorageAccountConfig } from '@cdktf/provider-azurerm/lib/storage-account';
2
+ import { StorageBlobConfig } from '@cdktf/provider-azurerm/lib/storage-blob';
3
+ import { StorageContainerConfig } from '@cdktf/provider-azurerm/lib/storage-container';
4
+ import { BaseConfigProps } from '../../types';
5
+ export interface StorageAccountProps extends StorageAccountConfig {
6
+ }
7
+ export interface StorageContainerProps extends BaseConfigProps, StorageContainerConfig {
8
+ }
9
+ export interface StorageBlobProps extends BaseConfigProps, StorageBlobConfig {
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export interface BaseConfigProps {
2
+ resourceGroupName: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ import { TerraformOutput } from 'cdktf';
2
+ import { CommonAzureConstruct } from '../common';
3
+ export declare const createTfOutput: (id: string, scope: CommonAzureConstruct, value?: string, description?: string, sensitive?: boolean, overrideId?: boolean) => TerraformOutput;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createTfOutput = void 0;
7
+ const cdktf_1 = require("cdktf");
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const createTfOutput = (id, scope, value, description, sensitive, overrideId = true) => {
10
+ const output = new cdktf_1.TerraformOutput(scope, id, {
11
+ description,
12
+ sensitive,
13
+ value,
14
+ });
15
+ if (overrideId) {
16
+ output.overrideLogicalId(lodash_1.default.camelCase(id));
17
+ }
18
+ return output;
19
+ };
20
+ exports.createTfOutput = createTfOutput;