@webiny/project-aws 6.3.0-beta.4 → 6.4.0-beta.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 (393) hide show
  1. package/_templates/appTemplates/admin/src/index.tsx +0 -3
  2. package/abstractions/ApiGqlClient.js +2 -1
  3. package/abstractions/ApiGqlClient.js.map +1 -1
  4. package/abstractions/InvokeLambdaFunction.js +2 -1
  5. package/abstractions/InvokeLambdaFunction.js.map +1 -1
  6. package/abstractions/features/pulumi/AdminPulumi.js +2 -1
  7. package/abstractions/features/pulumi/AdminPulumi.js.map +1 -1
  8. package/abstractions/features/pulumi/ApiPulumi.js +2 -1
  9. package/abstractions/features/pulumi/ApiPulumi.js.map +1 -1
  10. package/abstractions/features/pulumi/CorePulumi.js +2 -1
  11. package/abstractions/features/pulumi/CorePulumi.js.map +1 -1
  12. package/abstractions/features/pulumi/index.js +0 -2
  13. package/abstractions/index.js +0 -2
  14. package/abstractions/services/AdminStackOutputService.js +2 -1
  15. package/abstractions/services/AdminStackOutputService.js.map +1 -1
  16. package/abstractions/services/ApiStackOutputService.js +2 -1
  17. package/abstractions/services/ApiStackOutputService.js.map +1 -1
  18. package/abstractions/services/CoreStackOutputService.js +2 -1
  19. package/abstractions/services/CoreStackOutputService.js.map +1 -1
  20. package/admin.js +5 -4
  21. package/admin.js.map +1 -1
  22. package/api.js +13 -12
  23. package/api.js.map +1 -1
  24. package/apps/createAdminApp.js +11 -12
  25. package/apps/createAdminApp.js.map +1 -1
  26. package/apps/createAdminAppConfig.js +12 -18
  27. package/apps/createAdminAppConfig.js.map +1 -1
  28. package/apps/createApiApp.js +17 -22
  29. package/apps/createApiApp.js.map +1 -1
  30. package/apps/createBlueGreenApp.js +13 -16
  31. package/apps/createBlueGreenApp.js.map +1 -1
  32. package/apps/createCoreApp.js +12 -13
  33. package/apps/createCoreApp.js.map +1 -1
  34. package/apps/createReactAppConfig.d.ts +0 -7
  35. package/apps/createReactAppConfig.js +56 -69
  36. package/apps/createReactAppConfig.js.map +1 -1
  37. package/apps/createSyncSystemApp.js +8 -7
  38. package/apps/createSyncSystemApp.js.map +1 -1
  39. package/apps/index.js +0 -2
  40. package/cli.js +3 -2
  41. package/cli.js.map +1 -1
  42. package/exports/extensions.js +0 -2
  43. package/exports/infra/admin.js +0 -2
  44. package/exports/infra/api.js +0 -2
  45. package/exports/infra/core.js +0 -2
  46. package/exports/infra.js +1 -3
  47. package/extensions/ApiLambdaFunction.js +45 -56
  48. package/extensions/ApiLambdaFunction.js.map +1 -1
  49. package/extensions/ApiRoute.js +90 -104
  50. package/extensions/ApiRoute.js.map +1 -1
  51. package/extensions/AwsDefaultRegion.js +17 -16
  52. package/extensions/AwsDefaultRegion.js.map +1 -1
  53. package/extensions/Cms/ModelFieldCompression.js +16 -15
  54. package/extensions/Cms/ModelFieldCompression.js.map +1 -1
  55. package/extensions/Encryption.js +30 -29
  56. package/extensions/Encryption.js.map +1 -1
  57. package/extensions/Mailer/Smtp.js +15 -14
  58. package/extensions/Mailer/Smtp.js.map +1 -1
  59. package/extensions/Mailer/Smtp.test.js +117 -131
  60. package/extensions/Mailer/Smtp.test.js.map +1 -1
  61. package/extensions/Mailer/SmtpParamsSchema.js +11 -14
  62. package/extensions/Mailer/SmtpParamsSchema.js.map +1 -1
  63. package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js +25 -30
  64. package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js.map +1 -1
  65. package/extensions/OpenSearch/EnsureOsWasDeployed.js +14 -24
  66. package/extensions/OpenSearch/EnsureOsWasDeployed.js.map +1 -1
  67. package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js +25 -21
  68. package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js.map +1 -1
  69. package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js +26 -22
  70. package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js.map +1 -1
  71. package/extensions/OpenSearch.js +30 -31
  72. package/extensions/OpenSearch.js.map +1 -1
  73. package/extensions/ProjectAws/AdminStackOutputService.js +0 -2
  74. package/extensions/ProjectAws/ApiStackOutputService.js +0 -2
  75. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js +65 -74
  76. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js.map +1 -1
  77. package/extensions/ProjectAws/AutoInstall.js +15 -14
  78. package/extensions/ProjectAws/AutoInstall.js.map +1 -1
  79. package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js +15 -19
  80. package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js.map +1 -1
  81. package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js +56 -45
  82. package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js.map +1 -1
  83. package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js +57 -55
  84. package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js.map +1 -1
  85. package/extensions/ProjectAws/BuildAppWorkspace.js +49 -54
  86. package/extensions/ProjectAws/BuildAppWorkspace.js.map +1 -1
  87. package/extensions/ProjectAws/CoreStackOutputService.js +0 -2
  88. package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js +26 -30
  89. package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js.map +1 -1
  90. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js +25 -38
  91. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js.map +1 -1
  92. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js +22 -17
  93. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js.map +1 -1
  94. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js +22 -17
  95. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js.map +1 -1
  96. package/extensions/ProjectAws/SetDatabaseSetupOutput.js +20 -21
  97. package/extensions/ProjectAws/SetDatabaseSetupOutput.js.map +1 -1
  98. package/extensions/ProjectAws/UploadAdminAppToS3.js +53 -58
  99. package/extensions/ProjectAws/UploadAdminAppToS3.js.map +1 -1
  100. package/extensions/ProjectAws/definitions.js +13 -6
  101. package/extensions/ProjectAws/definitions.js.map +1 -1
  102. package/extensions/ProjectAws.js +44 -45
  103. package/extensions/ProjectAws.js.map +1 -1
  104. package/extensions/RegisterRoutesPulumi.js +24 -29
  105. package/extensions/RegisterRoutesPulumi.js.map +1 -1
  106. package/extensions/definitions.js +10 -3
  107. package/extensions/definitions.js.map +1 -1
  108. package/extensions/index.js +0 -2
  109. package/features/ApiGqlClient.js +46 -51
  110. package/features/ApiGqlClient.js.map +1 -1
  111. package/features/InvokeLambdaFunction.js +30 -32
  112. package/features/InvokeLambdaFunction.js.map +1 -1
  113. package/features/index.js +0 -2
  114. package/index.js +0 -2
  115. package/infra.js +57 -59
  116. package/infra.js.map +1 -1
  117. package/package.json +14 -14
  118. package/project.js +7 -6
  119. package/project.js.map +1 -1
  120. package/pulumi/apps/admin/createAdminPulumiApp.js +36 -44
  121. package/pulumi/apps/admin/createAdminPulumiApp.js.map +1 -1
  122. package/pulumi/apps/admin/index.js +0 -2
  123. package/pulumi/apps/api/ApiBackgroundTask.js +153 -137
  124. package/pulumi/apps/api/ApiBackgroundTask.js.map +1 -1
  125. package/pulumi/apps/api/ApiCloudfront.js +188 -130
  126. package/pulumi/apps/api/ApiCloudfront.js.map +1 -1
  127. package/pulumi/apps/api/ApiFileManager.js +34 -33
  128. package/pulumi/apps/api/ApiFileManager.js.map +1 -1
  129. package/pulumi/apps/api/ApiGateway.js +67 -74
  130. package/pulumi/apps/api/ApiGateway.js.map +1 -1
  131. package/pulumi/apps/api/ApiGraphql.js +223 -152
  132. package/pulumi/apps/api/ApiGraphql.js.map +1 -1
  133. package/pulumi/apps/api/ApiOutput.js +29 -30
  134. package/pulumi/apps/api/ApiOutput.js.map +1 -1
  135. package/pulumi/apps/api/ApiScheduler.js +94 -92
  136. package/pulumi/apps/api/ApiScheduler.js.map +1 -1
  137. package/pulumi/apps/api/ApiWebsocket.js +141 -133
  138. package/pulumi/apps/api/ApiWebsocket.js.map +1 -1
  139. package/pulumi/apps/api/backgroundTask/definition.js +122 -144
  140. package/pulumi/apps/api/backgroundTask/definition.js.map +1 -1
  141. package/pulumi/apps/api/backgroundTask/policy.js +37 -23
  142. package/pulumi/apps/api/backgroundTask/policy.js.map +1 -1
  143. package/pulumi/apps/api/backgroundTask/role.js +29 -29
  144. package/pulumi/apps/api/backgroundTask/role.js.map +1 -1
  145. package/pulumi/apps/api/backgroundTask/types.js +9 -11
  146. package/pulumi/apps/api/backgroundTask/types.js.map +1 -1
  147. package/pulumi/apps/api/createApiPulumiApp.js +206 -274
  148. package/pulumi/apps/api/createApiPulumiApp.js.map +1 -1
  149. package/pulumi/apps/api/handleGuardDutyEvents.js +54 -51
  150. package/pulumi/apps/api/handleGuardDutyEvents.js.map +1 -1
  151. package/pulumi/apps/api/index.js +0 -2
  152. package/pulumi/apps/awsUtils.js +21 -24
  153. package/pulumi/apps/awsUtils.js.map +1 -1
  154. package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js +37 -40
  155. package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js.map +1 -1
  156. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js +83 -91
  157. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js.map +1 -1
  158. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js +17 -16
  159. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js.map +1 -1
  160. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js +13 -12
  161. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js.map +1 -1
  162. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js +9 -14
  163. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js.map +1 -1
  164. package/pulumi/apps/blueGreen/cloudfront/createOriginId.js +5 -7
  165. package/pulumi/apps/blueGreen/cloudfront/createOriginId.js.map +1 -1
  166. package/pulumi/apps/blueGreen/constants.js +15 -3
  167. package/pulumi/apps/blueGreen/constants.js.map +1 -1
  168. package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js +77 -103
  169. package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js.map +1 -1
  170. package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js +20 -26
  171. package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js.map +1 -1
  172. package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js +17 -20
  173. package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js.map +1 -1
  174. package/pulumi/apps/blueGreen/domains/getApplicationDomains.js +51 -61
  175. package/pulumi/apps/blueGreen/domains/getApplicationDomains.js.map +1 -1
  176. package/pulumi/apps/blueGreen/domains/resolveDomains.js +24 -38
  177. package/pulumi/apps/blueGreen/domains/resolveDomains.js.map +1 -1
  178. package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js +7 -14
  179. package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js.map +1 -1
  180. package/pulumi/apps/blueGreen/functions/handler.js +1 -57
  181. package/pulumi/apps/blueGreen/functions/handler.js.map +1 -1
  182. package/pulumi/apps/blueGreen/types.js +0 -3
  183. package/pulumi/apps/blueGreen/validation/validateDeployments.js +19 -24
  184. package/pulumi/apps/blueGreen/validation/validateDeployments.js.map +1 -1
  185. package/pulumi/apps/common/CoreOutput.js +34 -37
  186. package/pulumi/apps/common/CoreOutput.js.map +1 -1
  187. package/pulumi/apps/common/VpcConfig.js +20 -20
  188. package/pulumi/apps/common/VpcConfig.js.map +1 -1
  189. package/pulumi/apps/common/index.js +0 -2
  190. package/pulumi/apps/core/CoreAuditLogsDynamo.js +245 -182
  191. package/pulumi/apps/core/CoreAuditLogsDynamo.js.map +1 -1
  192. package/pulumi/apps/core/CoreCognito.js +117 -106
  193. package/pulumi/apps/core/CoreCognito.js.map +1 -1
  194. package/pulumi/apps/core/CoreDynamo.js +91 -70
  195. package/pulumi/apps/core/CoreDynamo.js.map +1 -1
  196. package/pulumi/apps/core/CoreEventBus.js +10 -9
  197. package/pulumi/apps/core/CoreEventBus.js.map +1 -1
  198. package/pulumi/apps/core/CoreFileManager.js +76 -68
  199. package/pulumi/apps/core/CoreFileManager.js.map +1 -1
  200. package/pulumi/apps/core/CoreOpenSearch.js +281 -305
  201. package/pulumi/apps/core/CoreOpenSearch.js.map +1 -1
  202. package/pulumi/apps/core/CoreVpc.js +155 -156
  203. package/pulumi/apps/core/CoreVpc.js.map +1 -1
  204. package/pulumi/apps/core/WatchCommand.js +94 -96
  205. package/pulumi/apps/core/WatchCommand.js.map +1 -1
  206. package/pulumi/apps/core/cognitoIdentityProviders/amazon.js +16 -22
  207. package/pulumi/apps/core/cognitoIdentityProviders/amazon.js.map +1 -1
  208. package/pulumi/apps/core/cognitoIdentityProviders/apple.js +16 -17
  209. package/pulumi/apps/core/cognitoIdentityProviders/apple.js.map +1 -1
  210. package/pulumi/apps/core/cognitoIdentityProviders/configure.js +44 -50
  211. package/pulumi/apps/core/cognitoIdentityProviders/configure.js.map +1 -1
  212. package/pulumi/apps/core/cognitoIdentityProviders/facebook.js +16 -17
  213. package/pulumi/apps/core/cognitoIdentityProviders/facebook.js.map +1 -1
  214. package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js +7 -8
  215. package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js.map +1 -1
  216. package/pulumi/apps/core/cognitoIdentityProviders/google.js +16 -17
  217. package/pulumi/apps/core/cognitoIdentityProviders/google.js.map +1 -1
  218. package/pulumi/apps/core/cognitoIdentityProviders/index.js +0 -2
  219. package/pulumi/apps/core/cognitoIdentityProviders/oidc.js +17 -18
  220. package/pulumi/apps/core/cognitoIdentityProviders/oidc.js.map +1 -1
  221. package/pulumi/apps/core/configureS3BucketMalwareProtection.js +251 -188
  222. package/pulumi/apps/core/configureS3BucketMalwareProtection.js.map +1 -1
  223. package/pulumi/apps/core/createCorePulumiApp.js +212 -280
  224. package/pulumi/apps/core/createCorePulumiApp.js.map +1 -1
  225. package/pulumi/apps/core/index.js +0 -2
  226. package/pulumi/apps/core/webinyWatchCommand/handler.js +45 -32
  227. package/pulumi/apps/core/webinyWatchCommand/handler.js.map +1 -1
  228. package/pulumi/apps/createAppBucket.js +157 -146
  229. package/pulumi/apps/createAppBucket.js.map +1 -1
  230. package/pulumi/apps/customDomain.js +7 -6
  231. package/pulumi/apps/customDomain.js.map +1 -1
  232. package/pulumi/apps/extensions/getAwsTagsFromExtension.js +8 -7
  233. package/pulumi/apps/extensions/getAwsTagsFromExtension.js.map +1 -1
  234. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js +6 -7
  235. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js.map +1 -1
  236. package/pulumi/apps/extensions/getOsConfigFromExtension.js +17 -41
  237. package/pulumi/apps/extensions/getOsConfigFromExtension.js.map +1 -1
  238. package/pulumi/apps/extensions/getVpcConfigFromExtension.js +13 -25
  239. package/pulumi/apps/extensions/getVpcConfigFromExtension.js.map +1 -1
  240. package/pulumi/apps/index.js +0 -3
  241. package/pulumi/apps/lambdaUtils.js +57 -61
  242. package/pulumi/apps/lambdaUtils.js.map +1 -1
  243. package/pulumi/apps/react/createReactPulumiApp.js +108 -129
  244. package/pulumi/apps/react/createReactPulumiApp.js.map +1 -1
  245. package/pulumi/apps/react/index.js +0 -2
  246. package/pulumi/apps/syncSystem/SyncSystemDynamo.js +77 -62
  247. package/pulumi/apps/syncSystem/SyncSystemDynamo.js.map +1 -1
  248. package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js +74 -57
  249. package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js.map +1 -1
  250. package/pulumi/apps/syncSystem/SyncSystemEventBus.js +77 -71
  251. package/pulumi/apps/syncSystem/SyncSystemEventBus.js.map +1 -1
  252. package/pulumi/apps/syncSystem/SyncSystemLambda.js +154 -86
  253. package/pulumi/apps/syncSystem/SyncSystemLambda.js.map +1 -1
  254. package/pulumi/apps/syncSystem/SyncSystemOutput.js +14 -13
  255. package/pulumi/apps/syncSystem/SyncSystemOutput.js.map +1 -1
  256. package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js +56 -60
  257. package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js.map +1 -1
  258. package/pulumi/apps/syncSystem/SyncSystemSQS.js +25 -49
  259. package/pulumi/apps/syncSystem/SyncSystemSQS.js.map +1 -1
  260. package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js +44 -43
  261. package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js.map +1 -1
  262. package/pulumi/apps/syncSystem/addTableItems.js +35 -45
  263. package/pulumi/apps/syncSystem/addTableItems.js.map +1 -1
  264. package/pulumi/apps/syncSystem/api/addServiceManifest.js +12 -14
  265. package/pulumi/apps/syncSystem/api/addServiceManifest.js.map +1 -1
  266. package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js +49 -55
  267. package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js.map +1 -1
  268. package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js +88 -40
  269. package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js.map +1 -1
  270. package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js +37 -43
  271. package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js.map +1 -1
  272. package/pulumi/apps/syncSystem/api/attachS3Permissions.js +51 -47
  273. package/pulumi/apps/syncSystem/api/attachS3Permissions.js.map +1 -1
  274. package/pulumi/apps/syncSystem/api/index.js +28 -46
  275. package/pulumi/apps/syncSystem/api/index.js.map +1 -1
  276. package/pulumi/apps/syncSystem/constants.js +2 -1
  277. package/pulumi/apps/syncSystem/constants.js.map +1 -1
  278. package/pulumi/apps/syncSystem/createSyncResourceName.js +2 -7
  279. package/pulumi/apps/syncSystem/createSyncResourceName.js.map +1 -1
  280. package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js +101 -166
  281. package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js.map +1 -1
  282. package/pulumi/apps/syncSystem/customApp.js +12 -16
  283. package/pulumi/apps/syncSystem/customApp.js.map +1 -1
  284. package/pulumi/apps/syncSystem/getSyncSystemOutput.js +5 -6
  285. package/pulumi/apps/syncSystem/getSyncSystemOutput.js.map +1 -1
  286. package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js +108 -42
  287. package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js.map +1 -1
  288. package/pulumi/apps/syncSystem/types.js +0 -3
  289. package/pulumi/constants.js +2 -1
  290. package/pulumi/constants.js.map +1 -1
  291. package/pulumi/env/awsRegion.js +3 -2
  292. package/pulumi/env/awsRegion.js.map +1 -1
  293. package/pulumi/env/base.js +11 -27
  294. package/pulumi/env/base.js.map +1 -1
  295. package/pulumi/env/env.js +3 -2
  296. package/pulumi/env/env.js.map +1 -1
  297. package/pulumi/env/projectName.js +3 -2
  298. package/pulumi/env/projectName.js.map +1 -1
  299. package/pulumi/env/variant.js +4 -3
  300. package/pulumi/env/variant.js.map +1 -1
  301. package/pulumi/extensions/AdminCustomDomains.js +15 -11
  302. package/pulumi/extensions/AdminCustomDomains.js.map +1 -1
  303. package/pulumi/extensions/AdminPulumi.js +16 -19
  304. package/pulumi/extensions/AdminPulumi.js.map +1 -1
  305. package/pulumi/extensions/ApiCustomDomains.js +15 -11
  306. package/pulumi/extensions/ApiCustomDomains.js.map +1 -1
  307. package/pulumi/extensions/ApiPulumi.js +16 -19
  308. package/pulumi/extensions/ApiPulumi.js.map +1 -1
  309. package/pulumi/extensions/AwsTags.js +11 -10
  310. package/pulumi/extensions/AwsTags.js.map +1 -1
  311. package/pulumi/extensions/BlueGreenDeployments.js +29 -26
  312. package/pulumi/extensions/BlueGreenDeployments.js.map +1 -1
  313. package/pulumi/extensions/CorePulumi.js +16 -19
  314. package/pulumi/extensions/CorePulumi.js.map +1 -1
  315. package/pulumi/extensions/OpenSearch.js +16 -15
  316. package/pulumi/extensions/OpenSearch.js.map +1 -1
  317. package/pulumi/extensions/Vpc.js +21 -20
  318. package/pulumi/extensions/Vpc.js.map +1 -1
  319. package/pulumi/extensions/index.js +12 -10
  320. package/pulumi/extensions/index.js.map +1 -1
  321. package/pulumi/features/AdminPulumi/AdminPulumi.js +18 -14
  322. package/pulumi/features/AdminPulumi/AdminPulumi.js.map +1 -1
  323. package/pulumi/features/AdminPulumi/index.js +0 -2
  324. package/pulumi/features/ApiPulumi/ApiPulumi.js +18 -14
  325. package/pulumi/features/ApiPulumi/ApiPulumi.js.map +1 -1
  326. package/pulumi/features/ApiPulumi/index.js +0 -2
  327. package/pulumi/features/CorePulumi/CorePulumi.js +18 -14
  328. package/pulumi/features/CorePulumi/CorePulumi.js.map +1 -1
  329. package/pulumi/features/CorePulumi/index.js +0 -2
  330. package/pulumi/features/index.js +0 -2
  331. package/pulumi/index.js +0 -2
  332. package/pulumi/types.js +0 -3
  333. package/pulumi/utils/addDomainsUrlsOutputs.js +20 -37
  334. package/pulumi/utils/addDomainsUrlsOutputs.js.map +1 -1
  335. package/pulumi/utils/addServiceManifestTableItem.js +12 -15
  336. package/pulumi/utils/addServiceManifestTableItem.js.map +1 -1
  337. package/pulumi/utils/crawlDirectory.js +10 -15
  338. package/pulumi/utils/crawlDirectory.js.map +1 -1
  339. package/pulumi/utils/createAssetArchive.js +5 -6
  340. package/pulumi/utils/createAssetArchive.js.map +1 -1
  341. package/pulumi/utils/dynamodb.js +26 -27
  342. package/pulumi/utils/dynamodb.js.map +1 -1
  343. package/pulumi/utils/getPresignedPost.js +27 -30
  344. package/pulumi/utils/getPresignedPost.js.map +1 -1
  345. package/pulumi/utils/index.js +1 -3
  346. package/pulumi/utils/lambdaEnvVariables.js +42 -54
  347. package/pulumi/utils/lambdaEnvVariables.js.map +1 -1
  348. package/pulumi/utils/tagResources.js +248 -28
  349. package/pulumi/utils/tagResources.js.map +1 -1
  350. package/pulumi/utils/uploadFolderToS3.js +101 -131
  351. package/pulumi/utils/uploadFolderToS3.js.map +1 -1
  352. package/pulumi/utils/withServiceManifest.js +28 -37
  353. package/pulumi/utils/withServiceManifest.js.map +1 -1
  354. package/services/AdminStackOutputService.js +14 -11
  355. package/services/AdminStackOutputService.js.map +1 -1
  356. package/services/ApiStackOutputService.js +14 -11
  357. package/services/ApiStackOutputService.js.map +1 -1
  358. package/services/CoreStackOutputService.js +14 -11
  359. package/services/CoreStackOutputService.js.map +1 -1
  360. package/utils/getTemplatesFolderPath.js +8 -10
  361. package/utils/getTemplatesFolderPath.js.map +1 -1
  362. package/utils/index.js +0 -2
  363. package/abstractions/features/pulumi/index.js.map +0 -1
  364. package/abstractions/index.js.map +0 -1
  365. package/apps/index.js.map +0 -1
  366. package/exports/extensions.js.map +0 -1
  367. package/exports/infra/admin.js.map +0 -1
  368. package/exports/infra/api.js.map +0 -1
  369. package/exports/infra/core.js.map +0 -1
  370. package/exports/infra.js.map +0 -1
  371. package/extensions/ProjectAws/AdminStackOutputService.js.map +0 -1
  372. package/extensions/ProjectAws/ApiStackOutputService.js.map +0 -1
  373. package/extensions/ProjectAws/CoreStackOutputService.js.map +0 -1
  374. package/extensions/index.js.map +0 -1
  375. package/features/index.js.map +0 -1
  376. package/index.js.map +0 -1
  377. package/pulumi/apps/admin/index.js.map +0 -1
  378. package/pulumi/apps/api/index.js.map +0 -1
  379. package/pulumi/apps/blueGreen/types.js.map +0 -1
  380. package/pulumi/apps/common/index.js.map +0 -1
  381. package/pulumi/apps/core/cognitoIdentityProviders/index.js.map +0 -1
  382. package/pulumi/apps/core/index.js.map +0 -1
  383. package/pulumi/apps/index.js.map +0 -1
  384. package/pulumi/apps/react/index.js.map +0 -1
  385. package/pulumi/apps/syncSystem/types.js.map +0 -1
  386. package/pulumi/features/AdminPulumi/index.js.map +0 -1
  387. package/pulumi/features/ApiPulumi/index.js.map +0 -1
  388. package/pulumi/features/CorePulumi/index.js.map +0 -1
  389. package/pulumi/features/index.js.map +0 -1
  390. package/pulumi/index.js.map +0 -1
  391. package/pulumi/types.js.map +0 -1
  392. package/pulumi/utils/index.js.map +0 -1
  393. package/utils/index.js.map +0 -1
@@ -1,55 +1,58 @@
1
- import * as aws from "@pulumi/aws";
2
1
  import { CoreOutput } from "../../index.js";
3
- export const handleGuardDutyEvents = app => {
4
- const core = app.getModule(CoreOutput);
5
- const graphql = app.resources.graphql.functions.graphql;
6
- const baseConfig = graphql.config.clone();
7
- const threatDetectionHandler = app.addResource(aws.lambda.Function, {
8
- name: "fm-threat-detection",
9
- config: {
10
- ...baseConfig,
11
- memorySize: 1024,
12
- description: "Handles Guard Duty threat scan results.",
13
- environment: {
14
- variables: graphql.output.environment.apply(env => {
15
- return {
16
- WEBINY_FUNCTION_TYPE: "threat-detection-event-handler",
17
- ...env?.variables
18
- };
19
- })
20
- },
21
- loggingConfig: {
22
- logFormat: "JSON"
23
- }
24
- }
25
- });
26
- const eventRule = app.addResource(aws.cloudwatch.EventRule, {
27
- name: `fm-bucket-malware-protection-event-rule`,
28
- config: {
29
- eventBusName: core.eventBusName,
30
- eventPattern: JSON.stringify({
31
- source: ["aws.guardduty"],
32
- "detail-type": ["GuardDuty Malware Protection Object Scan Result"]
33
- })
34
- }
35
- });
36
- app.addResource(aws.lambda.Permission, {
37
- name: "fm-bucket-malware-protection-event-permission",
38
- config: {
39
- action: "lambda:InvokeFunction",
40
- function: threatDetectionHandler.output.arn,
41
- principal: "events.amazonaws.com",
42
- sourceArn: eventRule.output.arn
43
- }
44
- });
45
- app.addResource(aws.cloudwatch.EventTarget, {
46
- name: `fm-bucket-malware-protection-event-target`,
47
- config: {
48
- rule: eventRule.output.name,
49
- arn: threatDetectionHandler.output.arn,
50
- eventBusName: core.eventBusName
51
- }
52
- });
2
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
3
+ const handleGuardDutyEvents = (app)=>{
4
+ const core = app.getModule(CoreOutput);
5
+ const graphql = app.resources.graphql.functions.graphql;
6
+ const baseConfig = graphql.config.clone();
7
+ const threatDetectionHandler = app.addResource(__rspack_external__pulumi_aws_e7af83c1.lambda.Function, {
8
+ name: "fm-threat-detection",
9
+ config: {
10
+ ...baseConfig,
11
+ memorySize: 1024,
12
+ description: "Handles Guard Duty threat scan results.",
13
+ environment: {
14
+ variables: graphql.output.environment.apply((env)=>({
15
+ WEBINY_FUNCTION_TYPE: "threat-detection-event-handler",
16
+ ...env?.variables
17
+ }))
18
+ },
19
+ loggingConfig: {
20
+ logFormat: "JSON"
21
+ }
22
+ }
23
+ });
24
+ const eventRule = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudwatch.EventRule, {
25
+ name: "fm-bucket-malware-protection-event-rule",
26
+ config: {
27
+ eventBusName: core.eventBusName,
28
+ eventPattern: JSON.stringify({
29
+ source: [
30
+ "aws.guardduty"
31
+ ],
32
+ "detail-type": [
33
+ "GuardDuty Malware Protection Object Scan Result"
34
+ ]
35
+ })
36
+ }
37
+ });
38
+ app.addResource(__rspack_external__pulumi_aws_e7af83c1.lambda.Permission, {
39
+ name: "fm-bucket-malware-protection-event-permission",
40
+ config: {
41
+ action: "lambda:InvokeFunction",
42
+ function: threatDetectionHandler.output.arn,
43
+ principal: "events.amazonaws.com",
44
+ sourceArn: eventRule.output.arn
45
+ }
46
+ });
47
+ app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudwatch.EventTarget, {
48
+ name: "fm-bucket-malware-protection-event-target",
49
+ config: {
50
+ rule: eventRule.output.name,
51
+ arn: threatDetectionHandler.output.arn,
52
+ eventBusName: core.eventBusName
53
+ }
54
+ });
53
55
  };
56
+ export { handleGuardDutyEvents };
54
57
 
55
58
  //# sourceMappingURL=handleGuardDutyEvents.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["aws","CoreOutput","handleGuardDutyEvents","app","core","getModule","graphql","resources","functions","baseConfig","config","clone","threatDetectionHandler","addResource","lambda","Function","name","memorySize","description","environment","variables","output","apply","env","WEBINY_FUNCTION_TYPE","loggingConfig","logFormat","eventRule","cloudwatch","EventRule","eventBusName","eventPattern","JSON","stringify","source","Permission","action","function","arn","principal","sourceArn","EventTarget","rule"],"sources":["handleGuardDutyEvents.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { type ApiPulumiApp, CoreOutput } from \"~/pulumi/index.js\";\n\nexport const handleGuardDutyEvents = (app: ApiPulumiApp) => {\n const core = app.getModule(CoreOutput);\n const graphql = app.resources.graphql.functions.graphql;\n\n const baseConfig = graphql.config.clone();\n\n const threatDetectionHandler = app.addResource(aws.lambda.Function, {\n name: \"fm-threat-detection\",\n config: {\n ...baseConfig,\n memorySize: 1024,\n description: \"Handles Guard Duty threat scan results.\",\n environment: {\n variables: graphql.output.environment.apply(env => {\n return {\n WEBINY_FUNCTION_TYPE: \"threat-detection-event-handler\",\n ...env?.variables\n };\n })\n },\n loggingConfig: {\n logFormat: \"JSON\"\n }\n }\n });\n\n const eventRule = app.addResource(aws.cloudwatch.EventRule, {\n name: `fm-bucket-malware-protection-event-rule`,\n config: {\n eventBusName: core.eventBusName,\n eventPattern: JSON.stringify({\n source: [\"aws.guardduty\"],\n \"detail-type\": [\"GuardDuty Malware Protection Object Scan Result\"]\n })\n }\n });\n\n app.addResource(aws.lambda.Permission, {\n name: \"fm-bucket-malware-protection-event-permission\",\n config: {\n action: \"lambda:InvokeFunction\",\n function: threatDetectionHandler.output.arn,\n principal: \"events.amazonaws.com\",\n sourceArn: eventRule.output.arn\n }\n });\n\n app.addResource(aws.cloudwatch.EventTarget, {\n name: `fm-bucket-malware-protection-event-target`,\n config: {\n rule: eventRule.output.name,\n arn: threatDetectionHandler.output.arn,\n eventBusName: core.eventBusName\n }\n });\n};\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAClC,SAA4BC,UAAU;AAEtC,OAAO,MAAMC,qBAAqB,GAAIC,GAAiB,IAAK;EACxD,MAAMC,IAAI,GAAGD,GAAG,CAACE,SAAS,CAACJ,UAAU,CAAC;EACtC,MAAMK,OAAO,GAAGH,GAAG,CAACI,SAAS,CAACD,OAAO,CAACE,SAAS,CAACF,OAAO;EAEvD,MAAMG,UAAU,GAAGH,OAAO,CAACI,MAAM,CAACC,KAAK,CAAC,CAAC;EAEzC,MAAMC,sBAAsB,GAAGT,GAAG,CAACU,WAAW,CAACb,GAAG,CAACc,MAAM,CAACC,QAAQ,EAAE;IAChEC,IAAI,EAAE,qBAAqB;IAC3BN,MAAM,EAAE;MACJ,GAAGD,UAAU;MACbQ,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE,yCAAyC;MACtDC,WAAW,EAAE;QACTC,SAAS,EAAEd,OAAO,CAACe,MAAM,CAACF,WAAW,CAACG,KAAK,CAACC,GAAG,IAAI;UAC/C,OAAO;YACHC,oBAAoB,EAAE,gCAAgC;YACtD,GAAGD,GAAG,EAAEH;UACZ,CAAC;QACL,CAAC;MACL,CAAC;MACDK,aAAa,EAAE;QACXC,SAAS,EAAE;MACf;IACJ;EACJ,CAAC,CAAC;EAEF,MAAMC,SAAS,GAAGxB,GAAG,CAACU,WAAW,CAACb,GAAG,CAAC4B,UAAU,CAACC,SAAS,EAAE;IACxDb,IAAI,EAAE,yCAAyC;IAC/CN,MAAM,EAAE;MACJoB,YAAY,EAAE1B,IAAI,CAAC0B,YAAY;MAC/BC,YAAY,EAAEC,IAAI,CAACC,SAAS,CAAC;QACzBC,MAAM,EAAE,CAAC,eAAe,CAAC;QACzB,aAAa,EAAE,CAAC,iDAAiD;MACrE,CAAC;IACL;EACJ,CAAC,CAAC;EAEF/B,GAAG,CAACU,WAAW,CAACb,GAAG,CAACc,MAAM,CAACqB,UAAU,EAAE;IACnCnB,IAAI,EAAE,+CAA+C;IACrDN,MAAM,EAAE;MACJ0B,MAAM,EAAE,uBAAuB;MAC/BC,QAAQ,EAAEzB,sBAAsB,CAACS,MAAM,CAACiB,GAAG;MAC3CC,SAAS,EAAE,sBAAsB;MACjCC,SAAS,EAAEb,SAAS,CAACN,MAAM,CAACiB;IAChC;EACJ,CAAC,CAAC;EAEFnC,GAAG,CAACU,WAAW,CAACb,GAAG,CAAC4B,UAAU,CAACa,WAAW,EAAE;IACxCzB,IAAI,EAAE,2CAA2C;IACjDN,MAAM,EAAE;MACJgC,IAAI,EAAEf,SAAS,CAACN,MAAM,CAACL,IAAI;MAC3BsB,GAAG,EAAE1B,sBAAsB,CAACS,MAAM,CAACiB,GAAG;MACtCR,YAAY,EAAE1B,IAAI,CAAC0B;IACvB;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/api/handleGuardDutyEvents.js","sources":["../../../../src/pulumi/apps/api/handleGuardDutyEvents.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { type ApiPulumiApp, CoreOutput } from \"~/pulumi/index.js\";\n\nexport const handleGuardDutyEvents = (app: ApiPulumiApp) => {\n const core = app.getModule(CoreOutput);\n const graphql = app.resources.graphql.functions.graphql;\n\n const baseConfig = graphql.config.clone();\n\n const threatDetectionHandler = app.addResource(aws.lambda.Function, {\n name: \"fm-threat-detection\",\n config: {\n ...baseConfig,\n memorySize: 1024,\n description: \"Handles Guard Duty threat scan results.\",\n environment: {\n variables: graphql.output.environment.apply(env => {\n return {\n WEBINY_FUNCTION_TYPE: \"threat-detection-event-handler\",\n ...env?.variables\n };\n })\n },\n loggingConfig: {\n logFormat: \"JSON\"\n }\n }\n });\n\n const eventRule = app.addResource(aws.cloudwatch.EventRule, {\n name: `fm-bucket-malware-protection-event-rule`,\n config: {\n eventBusName: core.eventBusName,\n eventPattern: JSON.stringify({\n source: [\"aws.guardduty\"],\n \"detail-type\": [\"GuardDuty Malware Protection Object Scan Result\"]\n })\n }\n });\n\n app.addResource(aws.lambda.Permission, {\n name: \"fm-bucket-malware-protection-event-permission\",\n config: {\n action: \"lambda:InvokeFunction\",\n function: threatDetectionHandler.output.arn,\n principal: \"events.amazonaws.com\",\n sourceArn: eventRule.output.arn\n }\n });\n\n app.addResource(aws.cloudwatch.EventTarget, {\n name: `fm-bucket-malware-protection-event-target`,\n config: {\n rule: eventRule.output.name,\n arn: threatDetectionHandler.output.arn,\n eventBusName: core.eventBusName\n }\n });\n};\n"],"names":["handleGuardDutyEvents","app","core","CoreOutput","graphql","baseConfig","threatDetectionHandler","aws","env","eventRule","JSON"],"mappings":";;AAGO,MAAMA,wBAAwB,CAACC;IAClC,MAAMC,OAAOD,IAAI,SAAS,CAACE;IAC3B,MAAMC,UAAUH,IAAI,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO;IAEvD,MAAMI,aAAaD,QAAQ,MAAM,CAAC,KAAK;IAEvC,MAAME,yBAAyBL,IAAI,WAAW,CAACM,uCAAAA,MAAAA,CAAAA,QAAmB,EAAE;QAChE,MAAM;QACN,QAAQ;YACJ,GAAGF,UAAU;YACb,YAAY;YACZ,aAAa;YACb,aAAa;gBACT,WAAWD,QAAQ,MAAM,CAAC,WAAW,CAAC,KAAK,CAACI,CAAAA,MACjC;wBACH,sBAAsB;wBACtB,GAAGA,KAAK,SAAS;oBACrB;YAER;YACA,eAAe;gBACX,WAAW;YACf;QACJ;IACJ;IAEA,MAAMC,YAAYR,IAAI,WAAW,CAACM,uCAAAA,UAAAA,CAAAA,SAAwB,EAAE;QACxD,MAAM;QACN,QAAQ;YACJ,cAAcL,KAAK,YAAY;YAC/B,cAAcQ,KAAK,SAAS,CAAC;gBACzB,QAAQ;oBAAC;iBAAgB;gBACzB,eAAe;oBAAC;iBAAkD;YACtE;QACJ;IACJ;IAEAT,IAAI,WAAW,CAACM,uCAAAA,MAAAA,CAAAA,UAAqB,EAAE;QACnC,MAAM;QACN,QAAQ;YACJ,QAAQ;YACR,UAAUD,uBAAuB,MAAM,CAAC,GAAG;YAC3C,WAAW;YACX,WAAWG,UAAU,MAAM,CAAC,GAAG;QACnC;IACJ;IAEAR,IAAI,WAAW,CAACM,uCAAAA,UAAAA,CAAAA,WAA0B,EAAE;QACxC,MAAM;QACN,QAAQ;YACJ,MAAME,UAAU,MAAM,CAAC,IAAI;YAC3B,KAAKH,uBAAuB,MAAM,CAAC,GAAG;YACtC,cAAcJ,KAAK,YAAY;QACnC;IACJ;AACJ"}
@@ -6,5 +6,3 @@ export * from "./ApiGraphql.js";
6
6
  export * from "./createApiPulumiApp.js";
7
7
  export * from "./ApiOutput.js";
8
8
  export * from "./ApiWebsocket.js";
9
-
10
- //# sourceMappingURL=index.js.map
@@ -1,34 +1,31 @@
1
- import * as aws from "@pulumi/aws";
2
1
  import { tagResources } from "../utils/index.js";
3
2
  import { getEnvVariableWebinyProjectName } from "../env/projectName.js";
4
3
  import { getEnvVariableWebinyEnv } from "../env/env.js";
5
4
  import { getEnvVariableWebinyVariant } from "../env/variant.js";
6
5
  import { getProjectSdk } from "@webiny/project";
7
- import { AwsTags as awsTagsExt } from "../extensions/AwsTags.js";
8
- export function getAwsAccountId(app) {
9
- return app.addHandler(() => {
10
- return aws.getCallerIdentity({}).then(x => x.accountId);
11
- });
6
+ import { AwsTags } from "../extensions/AwsTags.js";
7
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
8
+ function getAwsAccountId(app) {
9
+ return app.addHandler(()=>__rspack_external__pulumi_aws_e7af83c1.getCallerIdentity({}).then((x)=>x.accountId));
12
10
  }
13
- export function getAwsRegion(app) {
14
- return app.addHandler(() => {
15
- return aws.config.requireRegion();
16
- });
11
+ function getAwsRegion(app) {
12
+ return app.addHandler(()=>__rspack_external__pulumi_aws_e7af83c1.config.requireRegion());
17
13
  }
18
- export async function applyAwsResourceTags(appName) {
19
- const sdk = await getProjectSdk();
20
- const projectConfig = await sdk.getProjectConfig();
21
- const awsTagsFromExtensions = {};
22
- projectConfig.extensionsByType(awsTagsExt).forEach(ext => {
23
- Object.assign(awsTagsFromExtensions, ext.params.tags);
24
- });
25
- tagResources({
26
- ...awsTagsFromExtensions,
27
- WbyApp: appName,
28
- WbyProjectName: getEnvVariableWebinyProjectName(),
29
- WbyEnvironment: getEnvVariableWebinyEnv(),
30
- WbyEnvironmentVariant: getEnvVariableWebinyVariant()
31
- });
14
+ async function applyAwsResourceTags(appName) {
15
+ const sdk = await getProjectSdk();
16
+ const projectConfig = await sdk.getProjectConfig();
17
+ const awsTagsFromExtensions = {};
18
+ projectConfig.extensionsByType(AwsTags).forEach((ext)=>{
19
+ Object.assign(awsTagsFromExtensions, ext.params.tags);
20
+ });
21
+ tagResources({
22
+ ...awsTagsFromExtensions,
23
+ WbyApp: appName,
24
+ WbyProjectName: getEnvVariableWebinyProjectName(),
25
+ WbyEnvironment: getEnvVariableWebinyEnv(),
26
+ WbyEnvironmentVariant: getEnvVariableWebinyVariant()
27
+ });
32
28
  }
29
+ export { applyAwsResourceTags, getAwsAccountId, getAwsRegion };
33
30
 
34
31
  //# sourceMappingURL=awsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["aws","tagResources","getEnvVariableWebinyProjectName","getEnvVariableWebinyEnv","getEnvVariableWebinyVariant","getProjectSdk","AwsTags","awsTagsExt","getAwsAccountId","app","addHandler","getCallerIdentity","then","x","accountId","getAwsRegion","config","requireRegion","applyAwsResourceTags","appName","sdk","projectConfig","getProjectConfig","awsTagsFromExtensions","extensionsByType","forEach","ext","Object","assign","params","tags","WbyApp","WbyProjectName","WbyEnvironment","WbyEnvironmentVariant"],"sources":["awsUtils.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { type PulumiApp } from \"@webiny/pulumi\";\nimport { tagResources } from \"~/pulumi/utils/index.js\";\nimport { getEnvVariableWebinyProjectName } from \"~/pulumi/env/projectName.js\";\nimport { getEnvVariableWebinyEnv } from \"~/pulumi/env/env.js\";\nimport { getEnvVariableWebinyVariant } from \"~/pulumi/env/variant.js\";\nimport { type AppName, getProjectSdk } from \"@webiny/project\";\nimport { AwsTags as awsTagsExt } from \"~/pulumi/extensions/AwsTags.js\";\n\nexport function getAwsAccountId(app: PulumiApp) {\n return app.addHandler(() => {\n return aws.getCallerIdentity({}).then(x => x.accountId);\n });\n}\n\nexport function getAwsRegion(app: PulumiApp) {\n return app.addHandler(() => {\n return aws.config.requireRegion();\n });\n}\n\nexport async function applyAwsResourceTags(appName: AppName) {\n const sdk = await getProjectSdk();\n const projectConfig = await sdk.getProjectConfig();\n\n const awsTagsFromExtensions: Record<string, string> = {};\n projectConfig.extensionsByType(awsTagsExt).forEach(ext => {\n Object.assign(awsTagsFromExtensions, ext.params.tags);\n });\n\n tagResources({\n ...awsTagsFromExtensions,\n WbyApp: appName,\n WbyProjectName: getEnvVariableWebinyProjectName(),\n WbyEnvironment: getEnvVariableWebinyEnv(),\n WbyEnvironmentVariant: getEnvVariableWebinyVariant()\n });\n}\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAElC,SAASC,YAAY;AACrB,SAASC,+BAA+B;AACxC,SAASC,uBAAuB;AAChC,SAASC,2BAA2B;AACpC,SAAuBC,aAAa,QAAQ,iBAAiB;AAC7D,SAASC,OAAO,IAAIC,UAAU;AAE9B,OAAO,SAASC,eAAeA,CAACC,GAAc,EAAE;EAC5C,OAAOA,GAAG,CAACC,UAAU,CAAC,MAAM;IACxB,OAAOV,GAAG,CAACW,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAACC,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,SAAS,CAAC;EAC3D,CAAC,CAAC;AACN;AAEA,OAAO,SAASC,YAAYA,CAACN,GAAc,EAAE;EACzC,OAAOA,GAAG,CAACC,UAAU,CAAC,MAAM;IACxB,OAAOV,GAAG,CAACgB,MAAM,CAACC,aAAa,CAAC,CAAC;EACrC,CAAC,CAAC;AACN;AAEA,OAAO,eAAeC,oBAAoBA,CAACC,OAAgB,EAAE;EACzD,MAAMC,GAAG,GAAG,MAAMf,aAAa,CAAC,CAAC;EACjC,MAAMgB,aAAa,GAAG,MAAMD,GAAG,CAACE,gBAAgB,CAAC,CAAC;EAElD,MAAMC,qBAA6C,GAAG,CAAC,CAAC;EACxDF,aAAa,CAACG,gBAAgB,CAACjB,UAAU,CAAC,CAACkB,OAAO,CAACC,GAAG,IAAI;IACtDC,MAAM,CAACC,MAAM,CAACL,qBAAqB,EAAEG,GAAG,CAACG,MAAM,CAACC,IAAI,CAAC;EACzD,CAAC,CAAC;EAEF7B,YAAY,CAAC;IACT,GAAGsB,qBAAqB;IACxBQ,MAAM,EAAEZ,OAAO;IACfa,cAAc,EAAE9B,+BAA+B,CAAC,CAAC;IACjD+B,cAAc,EAAE9B,uBAAuB,CAAC,CAAC;IACzC+B,qBAAqB,EAAE9B,2BAA2B,CAAC;EACvD,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/awsUtils.js","sources":["../../../src/pulumi/apps/awsUtils.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { type PulumiApp } from \"@webiny/pulumi\";\nimport { tagResources } from \"~/pulumi/utils/index.js\";\nimport { getEnvVariableWebinyProjectName } from \"~/pulumi/env/projectName.js\";\nimport { getEnvVariableWebinyEnv } from \"~/pulumi/env/env.js\";\nimport { getEnvVariableWebinyVariant } from \"~/pulumi/env/variant.js\";\nimport { type AppName, getProjectSdk } from \"@webiny/project\";\nimport { AwsTags as awsTagsExt } from \"~/pulumi/extensions/AwsTags.js\";\n\nexport function getAwsAccountId(app: PulumiApp) {\n return app.addHandler(() => {\n return aws.getCallerIdentity({}).then(x => x.accountId);\n });\n}\n\nexport function getAwsRegion(app: PulumiApp) {\n return app.addHandler(() => {\n return aws.config.requireRegion();\n });\n}\n\nexport async function applyAwsResourceTags(appName: AppName) {\n const sdk = await getProjectSdk();\n const projectConfig = await sdk.getProjectConfig();\n\n const awsTagsFromExtensions: Record<string, string> = {};\n projectConfig.extensionsByType(awsTagsExt).forEach(ext => {\n Object.assign(awsTagsFromExtensions, ext.params.tags);\n });\n\n tagResources({\n ...awsTagsFromExtensions,\n WbyApp: appName,\n WbyProjectName: getEnvVariableWebinyProjectName(),\n WbyEnvironment: getEnvVariableWebinyEnv(),\n WbyEnvironmentVariant: getEnvVariableWebinyVariant()\n });\n}\n"],"names":["getAwsAccountId","app","aws","x","getAwsRegion","applyAwsResourceTags","appName","sdk","getProjectSdk","projectConfig","awsTagsFromExtensions","awsTagsExt","ext","Object","tagResources","getEnvVariableWebinyProjectName","getEnvVariableWebinyEnv","getEnvVariableWebinyVariant"],"mappings":";;;;;;;AASO,SAASA,gBAAgBC,GAAc;IAC1C,OAAOA,IAAI,UAAU,CAAC,IACXC,uCAAAA,iBAAqB,CAAC,CAAC,GAAG,IAAI,CAACC,CAAAA,IAAKA,EAAE,SAAS;AAE9D;AAEO,SAASC,aAAaH,GAAc;IACvC,OAAOA,IAAI,UAAU,CAAC,IACXC,uCAAAA,MAAAA,CAAAA,aAAwB;AAEvC;AAEO,eAAeG,qBAAqBC,OAAgB;IACvD,MAAMC,MAAM,MAAMC;IAClB,MAAMC,gBAAgB,MAAMF,IAAI,gBAAgB;IAEhD,MAAMG,wBAAgD,CAAC;IACvDD,cAAc,gBAAgB,CAACE,SAAY,OAAO,CAACC,CAAAA;QAC/CC,OAAO,MAAM,CAACH,uBAAuBE,IAAI,MAAM,CAAC,IAAI;IACxD;IAEAE,aAAa;QACT,GAAGJ,qBAAqB;QACxB,QAAQJ;QACR,gBAAgBS;QAChB,gBAAgBC;QAChB,uBAAuBC;IAC3B;AACJ"}
@@ -1,44 +1,41 @@
1
- import * as aws from "@pulumi/aws";
2
1
  import { createAppModule } from "@webiny/pulumi";
3
- export const BlueGreenRouterApiGateway = createAppModule({
4
- name: "BlueGreenRouterApiGateway",
5
- config(app, params) {
6
- const apiGateway = app.addResource(aws.apigatewayv2.Api, {
7
- name: "blueGreenRouterApi",
8
- opts: {
9
- protect: params.protect,
10
- provider: params.region
11
- },
12
- config: {
13
- protocolType: "HTTP",
14
- description: "Blue / Green Router API"
15
- }
16
- });
17
- const apiStage = app.addResource(aws.apigatewayv2.Stage, {
18
- name: "blue-green-stage",
19
- opts: {
20
- protect: params.protect,
21
- provider: params.region
22
- },
23
- config: {
24
- apiId: apiGateway.output.id,
25
- autoDeploy: true,
26
- name: app.params.run.env,
27
- defaultRouteSettings: {
28
- // Only enable when debugging. Note that by default, API Gateway does not
29
- // have the required permissions to write logs to CloudWatch logs. More:
30
- // https://coady.tech/aws-cloudwatch-logs-arn/
31
- // loggingLevel: "INFO",
32
- throttlingBurstLimit: 5000,
33
- throttlingRateLimit: 10000
34
- }
35
- }
36
- });
37
- return {
38
- apiStage,
39
- apiGateway
40
- };
41
- }
2
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
3
+ const BlueGreenRouterApiGateway = createAppModule({
4
+ name: "BlueGreenRouterApiGateway",
5
+ config (app, params) {
6
+ const apiGateway = app.addResource(__rspack_external__pulumi_aws_e7af83c1.apigatewayv2.Api, {
7
+ name: "blueGreenRouterApi",
8
+ opts: {
9
+ protect: params.protect,
10
+ provider: params.region
11
+ },
12
+ config: {
13
+ protocolType: "HTTP",
14
+ description: "Blue / Green Router API"
15
+ }
16
+ });
17
+ const apiStage = app.addResource(__rspack_external__pulumi_aws_e7af83c1.apigatewayv2.Stage, {
18
+ name: "blue-green-stage",
19
+ opts: {
20
+ protect: params.protect,
21
+ provider: params.region
22
+ },
23
+ config: {
24
+ apiId: apiGateway.output.id,
25
+ autoDeploy: true,
26
+ name: app.params.run.env,
27
+ defaultRouteSettings: {
28
+ throttlingBurstLimit: 5000,
29
+ throttlingRateLimit: 10000
30
+ }
31
+ }
32
+ });
33
+ return {
34
+ apiStage,
35
+ apiGateway
36
+ };
37
+ }
42
38
  });
39
+ export { BlueGreenRouterApiGateway };
43
40
 
44
41
  //# sourceMappingURL=BlueGreenRouterApiGateway.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["aws","createAppModule","BlueGreenRouterApiGateway","name","config","app","params","apiGateway","addResource","apigatewayv2","Api","opts","protect","provider","region","protocolType","description","apiStage","Stage","apiId","output","id","autoDeploy","run","env","defaultRouteSettings","throttlingBurstLimit","throttlingRateLimit"],"sources":["BlueGreenRouterApiGateway.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nexport type BlueGreenRouterApiGateway = PulumiAppModule<typeof BlueGreenRouterApiGateway>;\n\nexport interface IBlueGreenRouterApiGatewayParams {\n region: aws.Provider;\n protect: boolean;\n}\n\nexport const BlueGreenRouterApiGateway = createAppModule({\n name: \"BlueGreenRouterApiGateway\",\n config(app: PulumiApp, params: IBlueGreenRouterApiGatewayParams) {\n const apiGateway = app.addResource(aws.apigatewayv2.Api, {\n name: \"blueGreenRouterApi\",\n opts: {\n protect: params.protect,\n provider: params.region\n },\n config: {\n protocolType: \"HTTP\",\n description: \"Blue / Green Router API\"\n }\n });\n\n const apiStage = app.addResource(aws.apigatewayv2.Stage, {\n name: \"blue-green-stage\",\n opts: {\n protect: params.protect,\n provider: params.region\n },\n config: {\n apiId: apiGateway.output.id,\n autoDeploy: true,\n name: app.params.run.env,\n defaultRouteSettings: {\n // Only enable when debugging. Note that by default, API Gateway does not\n // have the required permissions to write logs to CloudWatch logs. More:\n // https://coady.tech/aws-cloudwatch-logs-arn/\n // loggingLevel: \"INFO\",\n throttlingBurstLimit: 5000,\n throttlingRateLimit: 10000\n }\n }\n });\n\n return {\n apiStage,\n apiGateway\n };\n }\n});\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAElC,SAASC,eAAe,QAAQ,gBAAgB;AAShD,OAAO,MAAMC,yBAAyB,GAAGD,eAAe,CAAC;EACrDE,IAAI,EAAE,2BAA2B;EACjCC,MAAMA,CAACC,GAAc,EAAEC,MAAwC,EAAE;IAC7D,MAAMC,UAAU,GAAGF,GAAG,CAACG,WAAW,CAACR,GAAG,CAACS,YAAY,CAACC,GAAG,EAAE;MACrDP,IAAI,EAAE,oBAAoB;MAC1BQ,IAAI,EAAE;QACFC,OAAO,EAAEN,MAAM,CAACM,OAAO;QACvBC,QAAQ,EAAEP,MAAM,CAACQ;MACrB,CAAC;MACDV,MAAM,EAAE;QACJW,YAAY,EAAE,MAAM;QACpBC,WAAW,EAAE;MACjB;IACJ,CAAC,CAAC;IAEF,MAAMC,QAAQ,GAAGZ,GAAG,CAACG,WAAW,CAACR,GAAG,CAACS,YAAY,CAACS,KAAK,EAAE;MACrDf,IAAI,EAAE,kBAAkB;MACxBQ,IAAI,EAAE;QACFC,OAAO,EAAEN,MAAM,CAACM,OAAO;QACvBC,QAAQ,EAAEP,MAAM,CAACQ;MACrB,CAAC;MACDV,MAAM,EAAE;QACJe,KAAK,EAAEZ,UAAU,CAACa,MAAM,CAACC,EAAE;QAC3BC,UAAU,EAAE,IAAI;QAChBnB,IAAI,EAAEE,GAAG,CAACC,MAAM,CAACiB,GAAG,CAACC,GAAG;QACxBC,oBAAoB,EAAE;UAClB;UACA;UACA;UACA;UACAC,oBAAoB,EAAE,IAAI;UAC1BC,mBAAmB,EAAE;QACzB;MACJ;IACJ,CAAC,CAAC;IAEF,OAAO;MACHV,QAAQ;MACRV;IACJ,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js","sources":["../../../../src/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nexport type BlueGreenRouterApiGateway = PulumiAppModule<typeof BlueGreenRouterApiGateway>;\n\nexport interface IBlueGreenRouterApiGatewayParams {\n region: aws.Provider;\n protect: boolean;\n}\n\nexport const BlueGreenRouterApiGateway = createAppModule({\n name: \"BlueGreenRouterApiGateway\",\n config(app: PulumiApp, params: IBlueGreenRouterApiGatewayParams) {\n const apiGateway = app.addResource(aws.apigatewayv2.Api, {\n name: \"blueGreenRouterApi\",\n opts: {\n protect: params.protect,\n provider: params.region\n },\n config: {\n protocolType: \"HTTP\",\n description: \"Blue / Green Router API\"\n }\n });\n\n const apiStage = app.addResource(aws.apigatewayv2.Stage, {\n name: \"blue-green-stage\",\n opts: {\n protect: params.protect,\n provider: params.region\n },\n config: {\n apiId: apiGateway.output.id,\n autoDeploy: true,\n name: app.params.run.env,\n defaultRouteSettings: {\n // Only enable when debugging. Note that by default, API Gateway does not\n // have the required permissions to write logs to CloudWatch logs. More:\n // https://coady.tech/aws-cloudwatch-logs-arn/\n // loggingLevel: \"INFO\",\n throttlingBurstLimit: 5000,\n throttlingRateLimit: 10000\n }\n }\n });\n\n return {\n apiStage,\n apiGateway\n };\n }\n});\n"],"names":["BlueGreenRouterApiGateway","createAppModule","app","params","apiGateway","aws","apiStage"],"mappings":";;AAWO,MAAMA,4BAA4BC,gBAAgB;IACrD,MAAM;IACN,QAAOC,GAAc,EAAEC,MAAwC;QAC3D,MAAMC,aAAaF,IAAI,WAAW,CAACG,uCAAAA,YAAAA,CAAAA,GAAoB,EAAE;YACrD,MAAM;YACN,MAAM;gBACF,SAASF,OAAO,OAAO;gBACvB,UAAUA,OAAO,MAAM;YAC3B;YACA,QAAQ;gBACJ,cAAc;gBACd,aAAa;YACjB;QACJ;QAEA,MAAMG,WAAWJ,IAAI,WAAW,CAACG,uCAAAA,YAAAA,CAAAA,KAAsB,EAAE;YACrD,MAAM;YACN,MAAM;gBACF,SAASF,OAAO,OAAO;gBACvB,UAAUA,OAAO,MAAM;YAC3B;YACA,QAAQ;gBACJ,OAAOC,WAAW,MAAM,CAAC,EAAE;gBAC3B,YAAY;gBACZ,MAAMF,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG;gBACxB,sBAAsB;oBAKlB,sBAAsB;oBACtB,qBAAqB;gBACzB;YACJ;QACJ;QAEA,OAAO;YACHI;YACAF;QACJ;IACJ;AACJ"}
@@ -1,100 +1,92 @@
1
- import * as aws from "@pulumi/aws";
2
1
  import { createAppModule } from "@webiny/pulumi";
3
2
  import { BlueGreenRouterApiGateway } from "./BlueGreenRouterApiGateway.js";
4
3
  import { BlueGreenRouterCloudFrontStore } from "./BlueGreenRouterCloudFrontStore.js";
5
4
  import { buildHandlerFunction } from "./functions/buildHandlerFunction.js";
6
5
  import { BLUE_GREEN_ALLOWED_METHODS, BLUE_GREEN_CACHED_METHODS, BLUE_GREEN_ROUTER_STORE_KEY } from "./constants.js";
7
6
  import { createCloudFrontFunctionDomainMap } from "./cloudfront/createCloudFrontFunctionDomainMap.js";
8
- export const BlueGreenRouterCloudFront = createAppModule({
9
- name: "BlueGreenRouterCloudFront",
10
- config(app, config) {
11
- const api = app.getModule(BlueGreenRouterApiGateway);
12
- const store = app.getModule(BlueGreenRouterCloudFrontStore);
13
- const domains = createCloudFrontFunctionDomainMap(config);
14
-
15
- /**
16
- * Create a new CloudFront function that will be used to route the incoming requests to the correct CloudFront distribution.
17
- */
18
- const cloudFrontFunction = app.addResource(aws.cloudfront.Function, {
19
- name: `blue-green-router-viewer-request`,
20
- opts: {
21
- provider: config.region,
22
- protect: config.protect
23
- },
24
- config: {
25
- runtime: "cloudfront-js-2.0",
26
- publish: true,
27
- code: store.cloudFrontStore.output.arn.apply(arn => {
28
- /**
29
- * Unfortunately this is the only way to get the ID of the store.
30
- * It is a UUID value.
31
- */
32
- const id = arn.split("/").pop();
33
- return buildHandlerFunction({
34
- storeId: id,
35
- storeKey: BLUE_GREEN_ROUTER_STORE_KEY,
36
- domains
37
- });
38
- }),
39
- keyValueStoreAssociations: store.cloudFrontStore.output.arn.apply(arn => {
40
- return [arn];
41
- })
42
- }
43
- });
44
- /**
45
- * Create a CloudFront with attached function.
46
- */
47
- const cloudFront = app.addResource(aws.cloudfront.Distribution, {
48
- name: `blue-green-router-cloudfront`,
49
- opts: {
50
- provider: config.region,
51
- protect: config.protect
52
- },
53
- config: {
54
- httpVersion: "http2and3",
55
- enabled: true,
56
- priceClass: "PriceClass_100",
57
- origins: [
58
- /**
59
- * A default origin that will be used in case of no match.
60
- */
61
- {
62
- domainName: api.apiGateway.output.apiEndpoint.apply(url => url.replace("https://", "")),
63
- originId: "defaultOrigin",
64
- customOriginConfig: {
65
- originProtocolPolicy: "https-only",
66
- httpPort: 80,
67
- httpsPort: 443,
68
- originSslProtocols: ["TLSv1.2"]
69
- }
70
- }],
71
- defaultCacheBehavior: {
72
- targetOriginId: `defaultOrigin`,
73
- viewerProtocolPolicy: "redirect-to-https",
74
- allowedMethods: BLUE_GREEN_ALLOWED_METHODS,
75
- cachedMethods: BLUE_GREEN_CACHED_METHODS,
76
- cachePolicyId: config.cachePolicyId.id,
77
- originRequestPolicyId: config.originRequestPolicyId.id,
78
- functionAssociations: [{
79
- eventType: "viewer-request",
80
- functionArn: cloudFrontFunction.output.arn
81
- }]
82
- },
83
- restrictions: {
84
- geoRestriction: {
85
- restrictionType: "none"
86
- }
87
- },
88
- viewerCertificate: {
89
- cloudfrontDefaultCertificate: true
90
- }
91
- }
92
- });
93
- return {
94
- cloudFront,
95
- cloudFrontFunction
96
- };
97
- }
7
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
8
+ const BlueGreenRouterCloudFront = createAppModule({
9
+ name: "BlueGreenRouterCloudFront",
10
+ config (app, config) {
11
+ const api = app.getModule(BlueGreenRouterApiGateway);
12
+ const store = app.getModule(BlueGreenRouterCloudFrontStore);
13
+ const domains = createCloudFrontFunctionDomainMap(config);
14
+ const cloudFrontFunction = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.Function, {
15
+ name: "blue-green-router-viewer-request",
16
+ opts: {
17
+ provider: config.region,
18
+ protect: config.protect
19
+ },
20
+ config: {
21
+ runtime: "cloudfront-js-2.0",
22
+ publish: true,
23
+ code: store.cloudFrontStore.output.arn.apply((arn)=>{
24
+ const id = arn.split("/").pop();
25
+ return buildHandlerFunction({
26
+ storeId: id,
27
+ storeKey: BLUE_GREEN_ROUTER_STORE_KEY,
28
+ domains
29
+ });
30
+ }),
31
+ keyValueStoreAssociations: store.cloudFrontStore.output.arn.apply((arn)=>[
32
+ arn
33
+ ])
34
+ }
35
+ });
36
+ const cloudFront = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.Distribution, {
37
+ name: "blue-green-router-cloudfront",
38
+ opts: {
39
+ provider: config.region,
40
+ protect: config.protect
41
+ },
42
+ config: {
43
+ httpVersion: "http2and3",
44
+ enabled: true,
45
+ priceClass: "PriceClass_100",
46
+ origins: [
47
+ {
48
+ domainName: api.apiGateway.output.apiEndpoint.apply((url)=>url.replace("https://", "")),
49
+ originId: "defaultOrigin",
50
+ customOriginConfig: {
51
+ originProtocolPolicy: "https-only",
52
+ httpPort: 80,
53
+ httpsPort: 443,
54
+ originSslProtocols: [
55
+ "TLSv1.2"
56
+ ]
57
+ }
58
+ }
59
+ ],
60
+ defaultCacheBehavior: {
61
+ targetOriginId: "defaultOrigin",
62
+ viewerProtocolPolicy: "redirect-to-https",
63
+ allowedMethods: BLUE_GREEN_ALLOWED_METHODS,
64
+ cachedMethods: BLUE_GREEN_CACHED_METHODS,
65
+ cachePolicyId: config.cachePolicyId.id,
66
+ originRequestPolicyId: config.originRequestPolicyId.id,
67
+ functionAssociations: [
68
+ {
69
+ eventType: "viewer-request",
70
+ functionArn: cloudFrontFunction.output.arn
71
+ }
72
+ ]
73
+ },
74
+ restrictions: {
75
+ geoRestriction: {
76
+ restrictionType: "none"
77
+ }
78
+ },
79
+ viewerCertificate: {
80
+ cloudfrontDefaultCertificate: true
81
+ }
82
+ }
83
+ });
84
+ return {
85
+ cloudFront,
86
+ cloudFrontFunction
87
+ };
88
+ }
98
89
  });
90
+ export { BlueGreenRouterCloudFront };
99
91
 
100
92
  //# sourceMappingURL=BlueGreenRouterCloudFront.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["aws","createAppModule","BlueGreenRouterApiGateway","BlueGreenRouterCloudFrontStore","buildHandlerFunction","BLUE_GREEN_ALLOWED_METHODS","BLUE_GREEN_CACHED_METHODS","BLUE_GREEN_ROUTER_STORE_KEY","createCloudFrontFunctionDomainMap","BlueGreenRouterCloudFront","name","config","app","api","getModule","store","domains","cloudFrontFunction","addResource","cloudfront","Function","opts","provider","region","protect","runtime","publish","code","cloudFrontStore","output","arn","apply","id","split","pop","storeId","storeKey","keyValueStoreAssociations","cloudFront","Distribution","httpVersion","enabled","priceClass","origins","domainName","apiGateway","apiEndpoint","url","replace","originId","customOriginConfig","originProtocolPolicy","httpPort","httpsPort","originSslProtocols","defaultCacheBehavior","targetOriginId","viewerProtocolPolicy","allowedMethods","cachedMethods","cachePolicyId","originRequestPolicyId","functionAssociations","eventType","functionArn","restrictions","geoRestriction","restrictionType","viewerCertificate","cloudfrontDefaultCertificate"],"sources":["BlueGreenRouterCloudFront.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\nimport type { GetCachePolicyResult } from \"@pulumi/aws/cloudfront/getCachePolicy.js\";\nimport type { GetOriginRequestPolicyResult } from \"@pulumi/aws/cloudfront/getOriginRequestPolicy.js\";\nimport { BlueGreenRouterApiGateway } from \"./BlueGreenRouterApiGateway.js\";\nimport { BlueGreenRouterCloudFrontStore } from \"./BlueGreenRouterCloudFrontStore.js\";\nimport { buildHandlerFunction } from \"./functions/buildHandlerFunction.js\";\nimport {\n BLUE_GREEN_ALLOWED_METHODS,\n BLUE_GREEN_CACHED_METHODS,\n BLUE_GREEN_ROUTER_STORE_KEY\n} from \"./constants.js\";\nimport { createCloudFrontFunctionDomainMap } from \"./cloudfront/createCloudFrontFunctionDomainMap.js\";\nimport type { IResolvedDomains } from \"./types.js\";\n\nexport type BlueGreenRouterCloudFront = PulumiAppModule<typeof BlueGreenRouterCloudFront>;\n\nexport interface IBlueGreenRouterCloudFrontConfig {\n region: aws.Provider;\n protect: boolean;\n domains: IResolvedDomains;\n cachePolicyId: GetCachePolicyResult;\n originRequestPolicyId: GetOriginRequestPolicyResult;\n}\n\nexport const BlueGreenRouterCloudFront = createAppModule({\n name: \"BlueGreenRouterCloudFront\",\n config(app, config: IBlueGreenRouterCloudFrontConfig) {\n const api = app.getModule(BlueGreenRouterApiGateway);\n\n const store = app.getModule(BlueGreenRouterCloudFrontStore);\n\n const domains = createCloudFrontFunctionDomainMap(config);\n\n /**\n * Create a new CloudFront function that will be used to route the incoming requests to the correct CloudFront distribution.\n */\n const cloudFrontFunction = app.addResource(aws.cloudfront.Function, {\n name: `blue-green-router-viewer-request`,\n opts: {\n provider: config.region,\n protect: config.protect\n },\n config: {\n runtime: \"cloudfront-js-2.0\",\n publish: true,\n code: store.cloudFrontStore.output.arn.apply(arn => {\n /**\n * Unfortunately this is the only way to get the ID of the store.\n * It is a UUID value.\n */\n const id = arn.split(\"/\").pop() as string;\n return buildHandlerFunction({\n storeId: id,\n storeKey: BLUE_GREEN_ROUTER_STORE_KEY,\n domains\n });\n }),\n keyValueStoreAssociations: store.cloudFrontStore.output.arn.apply(arn => {\n return [arn];\n })\n }\n });\n /**\n * Create a CloudFront with attached function.\n */\n const cloudFront = app.addResource(aws.cloudfront.Distribution, {\n name: `blue-green-router-cloudfront`,\n opts: {\n provider: config.region,\n protect: config.protect\n },\n config: {\n httpVersion: \"http2and3\",\n enabled: true,\n priceClass: \"PriceClass_100\",\n origins: [\n /**\n * A default origin that will be used in case of no match.\n */\n {\n domainName: api.apiGateway.output.apiEndpoint.apply(url =>\n url.replace(\"https://\", \"\")\n ),\n originId: \"defaultOrigin\",\n customOriginConfig: {\n originProtocolPolicy: \"https-only\",\n httpPort: 80,\n httpsPort: 443,\n originSslProtocols: [\"TLSv1.2\"]\n }\n }\n ],\n defaultCacheBehavior: {\n targetOriginId: `defaultOrigin`,\n viewerProtocolPolicy: \"redirect-to-https\",\n allowedMethods: BLUE_GREEN_ALLOWED_METHODS,\n cachedMethods: BLUE_GREEN_CACHED_METHODS,\n cachePolicyId: config.cachePolicyId.id,\n originRequestPolicyId: config.originRequestPolicyId.id,\n functionAssociations: [\n {\n eventType: \"viewer-request\",\n functionArn: cloudFrontFunction.output.arn\n }\n ]\n },\n restrictions: {\n geoRestriction: {\n restrictionType: \"none\"\n }\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true\n }\n }\n });\n\n return {\n cloudFront,\n cloudFrontFunction\n };\n }\n});\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAElC,SAASC,eAAe,QAAQ,gBAAgB;AAGhD,SAASC,yBAAyB;AAClC,SAASC,8BAA8B;AACvC,SAASC,oBAAoB;AAC7B,SACIC,0BAA0B,EAC1BC,yBAAyB,EACzBC,2BAA2B;AAE/B,SAASC,iCAAiC;AAa1C,OAAO,MAAMC,yBAAyB,GAAGR,eAAe,CAAC;EACrDS,IAAI,EAAE,2BAA2B;EACjCC,MAAMA,CAACC,GAAG,EAAED,MAAwC,EAAE;IAClD,MAAME,GAAG,GAAGD,GAAG,CAACE,SAAS,CAACZ,yBAAyB,CAAC;IAEpD,MAAMa,KAAK,GAAGH,GAAG,CAACE,SAAS,CAACX,8BAA8B,CAAC;IAE3D,MAAMa,OAAO,GAAGR,iCAAiC,CAACG,MAAM,CAAC;;IAEzD;AACR;AACA;IACQ,MAAMM,kBAAkB,GAAGL,GAAG,CAACM,WAAW,CAAClB,GAAG,CAACmB,UAAU,CAACC,QAAQ,EAAE;MAChEV,IAAI,EAAE,kCAAkC;MACxCW,IAAI,EAAE;QACFC,QAAQ,EAAEX,MAAM,CAACY,MAAM;QACvBC,OAAO,EAAEb,MAAM,CAACa;MACpB,CAAC;MACDb,MAAM,EAAE;QACJc,OAAO,EAAE,mBAAmB;QAC5BC,OAAO,EAAE,IAAI;QACbC,IAAI,EAAEZ,KAAK,CAACa,eAAe,CAACC,MAAM,CAACC,GAAG,CAACC,KAAK,CAACD,GAAG,IAAI;UAChD;AACpB;AACA;AACA;UACoB,MAAME,EAAE,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAW;UACzC,OAAO9B,oBAAoB,CAAC;YACxB+B,OAAO,EAAEH,EAAE;YACXI,QAAQ,EAAE7B,2BAA2B;YACrCS;UACJ,CAAC,CAAC;QACN,CAAC,CAAC;QACFqB,yBAAyB,EAAEtB,KAAK,CAACa,eAAe,CAACC,MAAM,CAACC,GAAG,CAACC,KAAK,CAACD,GAAG,IAAI;UACrE,OAAO,CAACA,GAAG,CAAC;QAChB,CAAC;MACL;IACJ,CAAC,CAAC;IACF;AACR;AACA;IACQ,MAAMQ,UAAU,GAAG1B,GAAG,CAACM,WAAW,CAAClB,GAAG,CAACmB,UAAU,CAACoB,YAAY,EAAE;MAC5D7B,IAAI,EAAE,8BAA8B;MACpCW,IAAI,EAAE;QACFC,QAAQ,EAAEX,MAAM,CAACY,MAAM;QACvBC,OAAO,EAAEb,MAAM,CAACa;MACpB,CAAC;MACDb,MAAM,EAAE;QACJ6B,WAAW,EAAE,WAAW;QACxBC,OAAO,EAAE,IAAI;QACbC,UAAU,EAAE,gBAAgB;QAC5BC,OAAO,EAAE;QACL;AACpB;AACA;QACoB;UACIC,UAAU,EAAE/B,GAAG,CAACgC,UAAU,CAAChB,MAAM,CAACiB,WAAW,CAACf,KAAK,CAACgB,GAAG,IACnDA,GAAG,CAACC,OAAO,CAAC,UAAU,EAAE,EAAE,CAC9B,CAAC;UACDC,QAAQ,EAAE,eAAe;UACzBC,kBAAkB,EAAE;YAChBC,oBAAoB,EAAE,YAAY;YAClCC,QAAQ,EAAE,EAAE;YACZC,SAAS,EAAE,GAAG;YACdC,kBAAkB,EAAE,CAAC,SAAS;UAClC;QACJ,CAAC,CACJ;QACDC,oBAAoB,EAAE;UAClBC,cAAc,EAAE,eAAe;UAC/BC,oBAAoB,EAAE,mBAAmB;UACzCC,cAAc,EAAErD,0BAA0B;UAC1CsD,aAAa,EAAErD,yBAAyB;UACxCsD,aAAa,EAAEjD,MAAM,CAACiD,aAAa,CAAC5B,EAAE;UACtC6B,qBAAqB,EAAElD,MAAM,CAACkD,qBAAqB,CAAC7B,EAAE;UACtD8B,oBAAoB,EAAE,CAClB;YACIC,SAAS,EAAE,gBAAgB;YAC3BC,WAAW,EAAE/C,kBAAkB,CAACY,MAAM,CAACC;UAC3C,CAAC;QAET,CAAC;QACDmC,YAAY,EAAE;UACVC,cAAc,EAAE;YACZC,eAAe,EAAE;UACrB;QACJ,CAAC;QACDC,iBAAiB,EAAE;UACfC,4BAA4B,EAAE;QAClC;MACJ;IACJ,CAAC,CAAC;IAEF,OAAO;MACH/B,UAAU;MACVrB;IACJ,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js","sources":["../../../../src/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\nimport type { GetCachePolicyResult } from \"@pulumi/aws/cloudfront/getCachePolicy.js\";\nimport type { GetOriginRequestPolicyResult } from \"@pulumi/aws/cloudfront/getOriginRequestPolicy.js\";\nimport { BlueGreenRouterApiGateway } from \"./BlueGreenRouterApiGateway.js\";\nimport { BlueGreenRouterCloudFrontStore } from \"./BlueGreenRouterCloudFrontStore.js\";\nimport { buildHandlerFunction } from \"./functions/buildHandlerFunction.js\";\nimport {\n BLUE_GREEN_ALLOWED_METHODS,\n BLUE_GREEN_CACHED_METHODS,\n BLUE_GREEN_ROUTER_STORE_KEY\n} from \"./constants.js\";\nimport { createCloudFrontFunctionDomainMap } from \"./cloudfront/createCloudFrontFunctionDomainMap.js\";\nimport type { IResolvedDomains } from \"./types.js\";\n\nexport type BlueGreenRouterCloudFront = PulumiAppModule<typeof BlueGreenRouterCloudFront>;\n\nexport interface IBlueGreenRouterCloudFrontConfig {\n region: aws.Provider;\n protect: boolean;\n domains: IResolvedDomains;\n cachePolicyId: GetCachePolicyResult;\n originRequestPolicyId: GetOriginRequestPolicyResult;\n}\n\nexport const BlueGreenRouterCloudFront = createAppModule({\n name: \"BlueGreenRouterCloudFront\",\n config(app, config: IBlueGreenRouterCloudFrontConfig) {\n const api = app.getModule(BlueGreenRouterApiGateway);\n\n const store = app.getModule(BlueGreenRouterCloudFrontStore);\n\n const domains = createCloudFrontFunctionDomainMap(config);\n\n /**\n * Create a new CloudFront function that will be used to route the incoming requests to the correct CloudFront distribution.\n */\n const cloudFrontFunction = app.addResource(aws.cloudfront.Function, {\n name: `blue-green-router-viewer-request`,\n opts: {\n provider: config.region,\n protect: config.protect\n },\n config: {\n runtime: \"cloudfront-js-2.0\",\n publish: true,\n code: store.cloudFrontStore.output.arn.apply(arn => {\n /**\n * Unfortunately this is the only way to get the ID of the store.\n * It is a UUID value.\n */\n const id = arn.split(\"/\").pop() as string;\n return buildHandlerFunction({\n storeId: id,\n storeKey: BLUE_GREEN_ROUTER_STORE_KEY,\n domains\n });\n }),\n keyValueStoreAssociations: store.cloudFrontStore.output.arn.apply(arn => {\n return [arn];\n })\n }\n });\n /**\n * Create a CloudFront with attached function.\n */\n const cloudFront = app.addResource(aws.cloudfront.Distribution, {\n name: `blue-green-router-cloudfront`,\n opts: {\n provider: config.region,\n protect: config.protect\n },\n config: {\n httpVersion: \"http2and3\",\n enabled: true,\n priceClass: \"PriceClass_100\",\n origins: [\n /**\n * A default origin that will be used in case of no match.\n */\n {\n domainName: api.apiGateway.output.apiEndpoint.apply(url =>\n url.replace(\"https://\", \"\")\n ),\n originId: \"defaultOrigin\",\n customOriginConfig: {\n originProtocolPolicy: \"https-only\",\n httpPort: 80,\n httpsPort: 443,\n originSslProtocols: [\"TLSv1.2\"]\n }\n }\n ],\n defaultCacheBehavior: {\n targetOriginId: `defaultOrigin`,\n viewerProtocolPolicy: \"redirect-to-https\",\n allowedMethods: BLUE_GREEN_ALLOWED_METHODS,\n cachedMethods: BLUE_GREEN_CACHED_METHODS,\n cachePolicyId: config.cachePolicyId.id,\n originRequestPolicyId: config.originRequestPolicyId.id,\n functionAssociations: [\n {\n eventType: \"viewer-request\",\n functionArn: cloudFrontFunction.output.arn\n }\n ]\n },\n restrictions: {\n geoRestriction: {\n restrictionType: \"none\"\n }\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true\n }\n }\n });\n\n return {\n cloudFront,\n cloudFrontFunction\n };\n }\n});\n"],"names":["BlueGreenRouterCloudFront","createAppModule","app","config","api","BlueGreenRouterApiGateway","store","BlueGreenRouterCloudFrontStore","domains","createCloudFrontFunctionDomainMap","cloudFrontFunction","aws","arn","id","buildHandlerFunction","BLUE_GREEN_ROUTER_STORE_KEY","cloudFront","url","BLUE_GREEN_ALLOWED_METHODS","BLUE_GREEN_CACHED_METHODS"],"mappings":";;;;;;;AA0BO,MAAMA,4BAA4BC,gBAAgB;IACrD,MAAM;IACN,QAAOC,GAAG,EAAEC,MAAwC;QAChD,MAAMC,MAAMF,IAAI,SAAS,CAACG;QAE1B,MAAMC,QAAQJ,IAAI,SAAS,CAACK;QAE5B,MAAMC,UAAUC,kCAAkCN;QAKlD,MAAMO,qBAAqBR,IAAI,WAAW,CAACS,uCAAAA,UAAAA,CAAAA,QAAuB,EAAE;YAChE,MAAM;YACN,MAAM;gBACF,UAAUR,OAAO,MAAM;gBACvB,SAASA,OAAO,OAAO;YAC3B;YACA,QAAQ;gBACJ,SAAS;gBACT,SAAS;gBACT,MAAMG,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAACM,CAAAA;oBAKzC,MAAMC,KAAKD,IAAI,KAAK,CAAC,KAAK,GAAG;oBAC7B,OAAOE,qBAAqB;wBACxB,SAASD;wBACT,UAAUE;wBACVP;oBACJ;gBACJ;gBACA,2BAA2BF,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAACM,CAAAA,MACvD;wBAACA;qBAAI;YAEpB;QACJ;QAIA,MAAMI,aAAad,IAAI,WAAW,CAACS,uCAAAA,UAAAA,CAAAA,YAA2B,EAAE;YAC5D,MAAM;YACN,MAAM;gBACF,UAAUR,OAAO,MAAM;gBACvB,SAASA,OAAO,OAAO;YAC3B;YACA,QAAQ;gBACJ,aAAa;gBACb,SAAS;gBACT,YAAY;gBACZ,SAAS;oBAIL;wBACI,YAAYC,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAACa,CAAAA,MAChDA,IAAI,OAAO,CAAC,YAAY;wBAE5B,UAAU;wBACV,oBAAoB;4BAChB,sBAAsB;4BACtB,UAAU;4BACV,WAAW;4BACX,oBAAoB;gCAAC;6BAAU;wBACnC;oBACJ;iBACH;gBACD,sBAAsB;oBAClB,gBAAgB;oBAChB,sBAAsB;oBACtB,gBAAgBC;oBAChB,eAAeC;oBACf,eAAehB,OAAO,aAAa,CAAC,EAAE;oBACtC,uBAAuBA,OAAO,qBAAqB,CAAC,EAAE;oBACtD,sBAAsB;wBAClB;4BACI,WAAW;4BACX,aAAaO,mBAAmB,MAAM,CAAC,GAAG;wBAC9C;qBACH;gBACL;gBACA,cAAc;oBACV,gBAAgB;wBACZ,iBAAiB;oBACrB;gBACJ;gBACA,mBAAmB;oBACf,8BAA8B;gBAClC;YACJ;QACJ;QAEA,OAAO;YACHM;YACAN;QACJ;IACJ;AACJ"}
@@ -1,20 +1,21 @@
1
- import * as aws from "@pulumi/aws";
2
1
  import { createAppModule } from "@webiny/pulumi";
3
- export const BlueGreenRouterCloudFrontStore = createAppModule({
4
- name: "BlueGreenRouterCloudFrontStore",
5
- config(app, params) {
6
- const cloudFrontStore = app.addResource(aws.cloudfront.KeyValueStore, {
7
- name: "blueGreenRouterCloudFrontStore",
8
- opts: {
9
- provider: params.region,
10
- protect: params.protect
11
- },
12
- config: {}
13
- });
14
- return {
15
- cloudFrontStore
16
- };
17
- }
2
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
3
+ const BlueGreenRouterCloudFrontStore = createAppModule({
4
+ name: "BlueGreenRouterCloudFrontStore",
5
+ config (app, params) {
6
+ const cloudFrontStore = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.KeyValueStore, {
7
+ name: "blueGreenRouterCloudFrontStore",
8
+ opts: {
9
+ provider: params.region,
10
+ protect: params.protect
11
+ },
12
+ config: {}
13
+ });
14
+ return {
15
+ cloudFrontStore
16
+ };
17
+ }
18
18
  });
19
+ export { BlueGreenRouterCloudFrontStore };
19
20
 
20
21
  //# sourceMappingURL=BlueGreenRouterCloudFrontStore.js.map