@webiny/project-aws 6.3.0 → 6.4.0-beta.1

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 +16 -16
  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 +1 @@
1
- {"version":3,"names":["aws","createAppModule","BlueGreenRouterCloudFrontStore","name","config","app","params","cloudFrontStore","addResource","cloudfront","KeyValueStore","opts","provider","region","protect"],"sources":["BlueGreenRouterCloudFrontStore.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nexport type BlueGreenRouterCloudFrontStore = PulumiAppModule<typeof BlueGreenRouterCloudFrontStore>;\n\nexport interface IBlueGreenRouterCloudFrontStoreParams {\n region: aws.Provider;\n protect: boolean;\n}\n\nexport const BlueGreenRouterCloudFrontStore = createAppModule({\n name: \"BlueGreenRouterCloudFrontStore\",\n config(app: PulumiApp, params: IBlueGreenRouterCloudFrontStoreParams) {\n const cloudFrontStore = app.addResource(aws.cloudfront.KeyValueStore, {\n name: \"blueGreenRouterCloudFrontStore\",\n opts: {\n provider: params.region,\n protect: params.protect\n },\n config: {}\n });\n\n return {\n cloudFrontStore\n };\n }\n});\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAElC,SAASC,eAAe,QAAQ,gBAAgB;AAShD,OAAO,MAAMC,8BAA8B,GAAGD,eAAe,CAAC;EAC1DE,IAAI,EAAE,gCAAgC;EACtCC,MAAMA,CAACC,GAAc,EAAEC,MAA6C,EAAE;IAClE,MAAMC,eAAe,GAAGF,GAAG,CAACG,WAAW,CAACR,GAAG,CAACS,UAAU,CAACC,aAAa,EAAE;MAClEP,IAAI,EAAE,gCAAgC;MACtCQ,IAAI,EAAE;QACFC,QAAQ,EAAEN,MAAM,CAACO,MAAM;QACvBC,OAAO,EAAER,MAAM,CAACQ;MACpB,CAAC;MACDV,MAAM,EAAE,CAAC;IACb,CAAC,CAAC;IAEF,OAAO;MACHG;IACJ,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js","sources":["../../../../src/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nexport type BlueGreenRouterCloudFrontStore = PulumiAppModule<typeof BlueGreenRouterCloudFrontStore>;\n\nexport interface IBlueGreenRouterCloudFrontStoreParams {\n region: aws.Provider;\n protect: boolean;\n}\n\nexport const BlueGreenRouterCloudFrontStore = createAppModule({\n name: \"BlueGreenRouterCloudFrontStore\",\n config(app: PulumiApp, params: IBlueGreenRouterCloudFrontStoreParams) {\n const cloudFrontStore = app.addResource(aws.cloudfront.KeyValueStore, {\n name: \"blueGreenRouterCloudFrontStore\",\n opts: {\n provider: params.region,\n protect: params.protect\n },\n config: {}\n });\n\n return {\n cloudFrontStore\n };\n }\n});\n"],"names":["BlueGreenRouterCloudFrontStore","createAppModule","app","params","cloudFrontStore","aws"],"mappings":";;AAWO,MAAMA,iCAAiCC,gBAAgB;IAC1D,MAAM;IACN,QAAOC,GAAc,EAAEC,MAA6C;QAChE,MAAMC,kBAAkBF,IAAI,WAAW,CAACG,uCAAAA,UAAAA,CAAAA,aAA4B,EAAE;YAClE,MAAM;YACN,MAAM;gBACF,UAAUF,OAAO,MAAM;gBACvB,SAASA,OAAO,OAAO;YAC3B;YACA,QAAQ,CAAC;QACb;QAEA,OAAO;YACHC;QACJ;IACJ;AACJ"}
@@ -1,15 +1,16 @@
1
- import * as aws from "@pulumi/aws";
2
- export const createCloudFrontDefaultCacheBehaviorPolicies = async () => {
3
- const disableCachingCachePolicyId = await aws.cloudfront.getCachePolicy({
4
- name: "Managed-CachingDisabled"
5
- });
6
- const forwardEverythingOriginRequestPolicyId = await aws.cloudfront.getOriginRequestPolicy({
7
- name: "Managed-AllViewerExceptHostHeader"
8
- });
9
- return {
10
- disableCachingCachePolicyId,
11
- forwardEverythingOriginRequestPolicyId
12
- };
1
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
2
+ const createCloudFrontDefaultCacheBehaviorPolicies = async ()=>{
3
+ const disableCachingCachePolicyId = await __rspack_external__pulumi_aws_e7af83c1.cloudfront.getCachePolicy({
4
+ name: "Managed-CachingDisabled"
5
+ });
6
+ const forwardEverythingOriginRequestPolicyId = await __rspack_external__pulumi_aws_e7af83c1.cloudfront.getOriginRequestPolicy({
7
+ name: "Managed-AllViewerExceptHostHeader"
8
+ });
9
+ return {
10
+ disableCachingCachePolicyId,
11
+ forwardEverythingOriginRequestPolicyId
12
+ };
13
13
  };
14
+ export { createCloudFrontDefaultCacheBehaviorPolicies };
14
15
 
15
16
  //# sourceMappingURL=createCloudFrontDefaultCacheBehaviorPolicies.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["aws","createCloudFrontDefaultCacheBehaviorPolicies","disableCachingCachePolicyId","cloudfront","getCachePolicy","name","forwardEverythingOriginRequestPolicyId","getOriginRequestPolicy"],"sources":["createCloudFrontDefaultCacheBehaviorPolicies.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { GetCachePolicyResult } from \"@pulumi/aws/cloudfront/getCachePolicy.js\";\nimport type { GetOriginRequestPolicyResult } from \"@pulumi/aws/cloudfront/getOriginRequestPolicy.js\";\n\nexport interface ICreateCloudFrontDefaultCacheBehaviorPoliciesOutput {\n disableCachingCachePolicyId: GetCachePolicyResult;\n forwardEverythingOriginRequestPolicyId: GetOriginRequestPolicyResult;\n}\n\nexport const createCloudFrontDefaultCacheBehaviorPolicies =\n async (): Promise<ICreateCloudFrontDefaultCacheBehaviorPoliciesOutput> => {\n const disableCachingCachePolicyId = await aws.cloudfront.getCachePolicy({\n name: \"Managed-CachingDisabled\"\n });\n\n const forwardEverythingOriginRequestPolicyId = await aws.cloudfront.getOriginRequestPolicy({\n name: \"Managed-AllViewerExceptHostHeader\"\n });\n return {\n disableCachingCachePolicyId,\n forwardEverythingOriginRequestPolicyId\n };\n };\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AASlC,OAAO,MAAMC,4CAA4C,GACrD,MAAAA,CAAA,KAA0E;EACtE,MAAMC,2BAA2B,GAAG,MAAMF,GAAG,CAACG,UAAU,CAACC,cAAc,CAAC;IACpEC,IAAI,EAAE;EACV,CAAC,CAAC;EAEF,MAAMC,sCAAsC,GAAG,MAAMN,GAAG,CAACG,UAAU,CAACI,sBAAsB,CAAC;IACvFF,IAAI,EAAE;EACV,CAAC,CAAC;EACF,OAAO;IACHH,2BAA2B;IAC3BI;EACJ,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js","sources":["../../../../../src/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { GetCachePolicyResult } from \"@pulumi/aws/cloudfront/getCachePolicy.js\";\nimport type { GetOriginRequestPolicyResult } from \"@pulumi/aws/cloudfront/getOriginRequestPolicy.js\";\n\nexport interface ICreateCloudFrontDefaultCacheBehaviorPoliciesOutput {\n disableCachingCachePolicyId: GetCachePolicyResult;\n forwardEverythingOriginRequestPolicyId: GetOriginRequestPolicyResult;\n}\n\nexport const createCloudFrontDefaultCacheBehaviorPolicies =\n async (): Promise<ICreateCloudFrontDefaultCacheBehaviorPoliciesOutput> => {\n const disableCachingCachePolicyId = await aws.cloudfront.getCachePolicy({\n name: \"Managed-CachingDisabled\"\n });\n\n const forwardEverythingOriginRequestPolicyId = await aws.cloudfront.getOriginRequestPolicy({\n name: \"Managed-AllViewerExceptHostHeader\"\n });\n return {\n disableCachingCachePolicyId,\n forwardEverythingOriginRequestPolicyId\n };\n };\n"],"names":["createCloudFrontDefaultCacheBehaviorPolicies","disableCachingCachePolicyId","aws","forwardEverythingOriginRequestPolicyId"],"mappings":";AASO,MAAMA,+CACT;IACI,MAAMC,8BAA8B,MAAMC,uCAAAA,UAAAA,CAAAA,cAA6B,CAAC;QACpE,MAAM;IACV;IAEA,MAAMC,yCAAyC,MAAMD,uCAAAA,UAAAA,CAAAA,sBAAqC,CAAC;QACvF,MAAM;IACV;IACA,OAAO;QACHD;QACAE;IACJ;AACJ"}
@@ -1,23 +1,18 @@
1
1
  import { createOriginId } from "./createOriginId.js";
2
- export const createCloudFrontFunctionDomainMap = params => {
3
- const {
4
- domains
5
- } = params;
6
- const results = [];
7
- for (const domain of domains) {
8
- for (const source of domain.sources) {
9
- results.push({
2
+ const createCloudFrontFunctionDomainMap = (params)=>{
3
+ const { domains } = params;
4
+ const results = [];
5
+ for (const domain of domains)for (const source of domain.sources)results.push({
10
6
  name: domain.name,
11
7
  sourceDomain: source,
12
8
  targetDomain: domain.target,
13
9
  targetOriginId: createOriginId({
14
- type: domain.type,
15
- name: domain.name
10
+ type: domain.type,
11
+ name: domain.name
16
12
  })
17
- });
18
- }
19
- }
20
- return results;
13
+ });
14
+ return results;
21
15
  };
16
+ export { createCloudFrontFunctionDomainMap };
22
17
 
23
18
  //# sourceMappingURL=createCloudFrontFunctionDomainMap.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createOriginId","createCloudFrontFunctionDomainMap","params","domains","results","domain","source","sources","push","name","sourceDomain","targetDomain","target","targetOriginId","type"],"sources":["createCloudFrontFunctionDomainMap.ts"],"sourcesContent":["import type { IResolvedDomains } from \"../types.js\";\nimport { createOriginId } from \"./createOriginId.js\";\n\nexport interface ICreateCloudFrontFunctionDomainMapParamsResult {\n /**\n * Name of the deployment (eg. green, blue, orange, etc.).\n */\n name: string;\n sourceDomain: string;\n targetOriginId: string;\n targetDomain: string;\n}\n\nexport interface ICreateCloudFrontFunctionDomainMapParams {\n domains: IResolvedDomains;\n}\n\nexport const createCloudFrontFunctionDomainMap = (\n params: ICreateCloudFrontFunctionDomainMapParams\n): ICreateCloudFrontFunctionDomainMapParamsResult[] => {\n const { domains } = params;\n\n const results: ICreateCloudFrontFunctionDomainMapParamsResult[] = [];\n for (const domain of domains) {\n for (const source of domain.sources) {\n results.push({\n name: domain.name,\n sourceDomain: source,\n targetDomain: domain.target,\n targetOriginId: createOriginId({\n type: domain.type,\n name: domain.name\n })\n });\n }\n }\n return results;\n};\n"],"mappings":"AACA,SAASA,cAAc;AAgBvB,OAAO,MAAMC,iCAAiC,GAC1CC,MAAgD,IACG;EACnD,MAAM;IAAEC;EAAQ,CAAC,GAAGD,MAAM;EAE1B,MAAME,OAAyD,GAAG,EAAE;EACpE,KAAK,MAAMC,MAAM,IAAIF,OAAO,EAAE;IAC1B,KAAK,MAAMG,MAAM,IAAID,MAAM,CAACE,OAAO,EAAE;MACjCH,OAAO,CAACI,IAAI,CAAC;QACTC,IAAI,EAAEJ,MAAM,CAACI,IAAI;QACjBC,YAAY,EAAEJ,MAAM;QACpBK,YAAY,EAAEN,MAAM,CAACO,MAAM;QAC3BC,cAAc,EAAEb,cAAc,CAAC;UAC3Bc,IAAI,EAAET,MAAM,CAACS,IAAI;UACjBL,IAAI,EAAEJ,MAAM,CAACI;QACjB,CAAC;MACL,CAAC,CAAC;IACN;EACJ;EACA,OAAOL,OAAO;AAClB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js","sources":["../../../../../src/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.ts"],"sourcesContent":["import type { IResolvedDomains } from \"../types.js\";\nimport { createOriginId } from \"./createOriginId.js\";\n\nexport interface ICreateCloudFrontFunctionDomainMapParamsResult {\n /**\n * Name of the deployment (eg. green, blue, orange, etc.).\n */\n name: string;\n sourceDomain: string;\n targetOriginId: string;\n targetDomain: string;\n}\n\nexport interface ICreateCloudFrontFunctionDomainMapParams {\n domains: IResolvedDomains;\n}\n\nexport const createCloudFrontFunctionDomainMap = (\n params: ICreateCloudFrontFunctionDomainMapParams\n): ICreateCloudFrontFunctionDomainMapParamsResult[] => {\n const { domains } = params;\n\n const results: ICreateCloudFrontFunctionDomainMapParamsResult[] = [];\n for (const domain of domains) {\n for (const source of domain.sources) {\n results.push({\n name: domain.name,\n sourceDomain: source,\n targetDomain: domain.target,\n targetOriginId: createOriginId({\n type: domain.type,\n name: domain.name\n })\n });\n }\n }\n return results;\n};\n"],"names":["createCloudFrontFunctionDomainMap","params","domains","results","domain","source","createOriginId"],"mappings":";AAiBO,MAAMA,oCAAoC,CAC7CC;IAEA,MAAM,EAAEC,OAAO,EAAE,GAAGD;IAEpB,MAAME,UAA4D,EAAE;IACpE,KAAK,MAAMC,UAAUF,QACjB,KAAK,MAAMG,UAAUD,OAAO,OAAO,CAC/BD,QAAQ,IAAI,CAAC;QACT,MAAMC,OAAO,IAAI;QACjB,cAAcC;QACd,cAAcD,OAAO,MAAM;QAC3B,gBAAgBE,eAAe;YAC3B,MAAMF,OAAO,IAAI;YACjB,MAAMA,OAAO,IAAI;QACrB;IACJ;IAGR,OAAOD;AACX"}
@@ -1,10 +1,8 @@
1
- import lodashUcFirst from "lodash/startCase.js";
2
- export const createOriginId = params => {
3
- const {
4
- type,
5
- name
6
- } = params;
7
- return `${type}${lodashUcFirst(name)}BlueGreenCloudFront`;
1
+ import startCase from "lodash/startCase.js";
2
+ const createOriginId = (params)=>{
3
+ const { type, name } = params;
4
+ return `${type}${startCase(name)}BlueGreenCloudFront`;
8
5
  };
6
+ export { createOriginId };
9
7
 
10
8
  //# sourceMappingURL=createOriginId.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["lodashUcFirst","createOriginId","params","type","name"],"sources":["createOriginId.ts"],"sourcesContent":["import lodashUcFirst from \"lodash/startCase.js\";\n\nexport interface ICreateOriginIdParams {\n /**\n * Name of the deployment (eg. green, blue, orange, etc.).\n */\n name: string;\n /**\n * Type of the deployment (eg. api, etc.).\n */\n type: string;\n}\n\nexport const createOriginId = (params: ICreateOriginIdParams): string => {\n const { type, name } = params;\n return `${type}${lodashUcFirst(name)}BlueGreenCloudFront`;\n};\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,qBAAqB;AAa/C,OAAO,MAAMC,cAAc,GAAIC,MAA6B,IAAa;EACrE,MAAM;IAAEC,IAAI;IAAEC;EAAK,CAAC,GAAGF,MAAM;EAC7B,OAAO,GAAGC,IAAI,GAAGH,aAAa,CAACI,IAAI,CAAC,qBAAqB;AAC7D,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/cloudfront/createOriginId.js","sources":["../../../../../src/pulumi/apps/blueGreen/cloudfront/createOriginId.ts"],"sourcesContent":["import lodashUcFirst from \"lodash/startCase.js\";\n\nexport interface ICreateOriginIdParams {\n /**\n * Name of the deployment (eg. green, blue, orange, etc.).\n */\n name: string;\n /**\n * Type of the deployment (eg. api, etc.).\n */\n type: string;\n}\n\nexport const createOriginId = (params: ICreateOriginIdParams): string => {\n const { type, name } = params;\n return `${type}${lodashUcFirst(name)}BlueGreenCloudFront`;\n};\n"],"names":["createOriginId","params","type","name","lodashUcFirst"],"mappings":";AAaO,MAAMA,iBAAiB,CAACC;IAC3B,MAAM,EAAEC,IAAI,EAAEC,IAAI,EAAE,GAAGF;IACvB,OAAO,GAAGC,OAAOE,UAAcD,MAAM,mBAAmB,CAAC;AAC7D"}
@@ -1,5 +1,17 @@
1
- export const BLUE_GREEN_ROUTER_STORE_KEY = "blueGreenRouterStore";
2
- export const BLUE_GREEN_ALLOWED_METHODS = ["GET", "HEAD", "POST", "PUT", "PATCH", "OPTIONS", "DELETE"];
3
- export const BLUE_GREEN_CACHED_METHODS = ["GET", "HEAD"];
1
+ const BLUE_GREEN_ROUTER_STORE_KEY = "blueGreenRouterStore";
2
+ const BLUE_GREEN_ALLOWED_METHODS = [
3
+ "GET",
4
+ "HEAD",
5
+ "POST",
6
+ "PUT",
7
+ "PATCH",
8
+ "OPTIONS",
9
+ "DELETE"
10
+ ];
11
+ const BLUE_GREEN_CACHED_METHODS = [
12
+ "GET",
13
+ "HEAD"
14
+ ];
15
+ export { BLUE_GREEN_ALLOWED_METHODS, BLUE_GREEN_CACHED_METHODS, BLUE_GREEN_ROUTER_STORE_KEY };
4
16
 
5
17
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["BLUE_GREEN_ROUTER_STORE_KEY","BLUE_GREEN_ALLOWED_METHODS","BLUE_GREEN_CACHED_METHODS"],"sources":["constants.ts"],"sourcesContent":["export const BLUE_GREEN_ROUTER_STORE_KEY = \"blueGreenRouterStore\";\nexport const BLUE_GREEN_ALLOWED_METHODS = [\n \"GET\",\n \"HEAD\",\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"OPTIONS\",\n \"DELETE\"\n];\nexport const BLUE_GREEN_CACHED_METHODS = [\"GET\", \"HEAD\"];\n"],"mappings":"AAAA,OAAO,MAAMA,2BAA2B,GAAG,sBAAsB;AACjE,OAAO,MAAMC,0BAA0B,GAAG,CACtC,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,CACX;AACD,OAAO,MAAMC,yBAAyB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/constants.js","sources":["../../../../src/pulumi/apps/blueGreen/constants.ts"],"sourcesContent":["export const BLUE_GREEN_ROUTER_STORE_KEY = \"blueGreenRouterStore\";\nexport const BLUE_GREEN_ALLOWED_METHODS = [\n \"GET\",\n \"HEAD\",\n \"POST\",\n \"PUT\",\n \"PATCH\",\n \"OPTIONS\",\n \"DELETE\"\n];\nexport const BLUE_GREEN_CACHED_METHODS = [\"GET\", \"HEAD\"];\n"],"names":["BLUE_GREEN_ROUTER_STORE_KEY","BLUE_GREEN_ALLOWED_METHODS","BLUE_GREEN_CACHED_METHODS"],"mappings":"AAAO,MAAMA,8BAA8B;AACpC,MAAMC,6BAA6B;IACtC;IACA;IACA;IACA;IACA;IACA;IACA;CACH;AACM,MAAMC,4BAA4B;IAAC;IAAO;CAAO"}
@@ -1,5 +1,3 @@
1
- import * as aws from "@pulumi/aws";
2
- import { Region } from "@pulumi/aws";
3
1
  import { createPulumiApp } from "@webiny/pulumi";
4
2
  import { BlueGreenRouterCloudFront } from "./BlueGreenRouterCloudFront.js";
5
3
  import { createCloudFrontDefaultCacheBehaviorPolicies } from "./cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js";
@@ -15,108 +13,84 @@ import { BLUE_GREEN_ROUTER_STORE_KEY } from "./constants.js";
15
13
  import { getProjectSdk } from "@webiny/project";
16
14
  import { applyAwsResourceTags } from "../awsUtils.js";
17
15
  import { getBgDeploymentsConfigFromExtension } from "../extensions/getBgDeploymentsConfigFromExtension.js";
18
- export function createBlueGreenPulumiApp() {
19
- return createPulumiApp({
20
- name: "blueGreen",
21
- path: "apps/blueGreen",
22
- program: async app => {
23
- const sdk = await getProjectSdk();
24
- const projectConfig = await sdk.getProjectConfig();
25
- const blueGreenConfig = getBgDeploymentsConfigFromExtension(projectConfig);
26
- if (!blueGreenConfig) {
27
- throw new Error(`Blue/Green deployments are not enabled. Please enable them in the project configuration.`);
28
- }
29
- const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();
30
- const deployments = validateDeployments(blueGreenConfig.deployments);
31
- const applicationsDomains = await getApplicationDomains({
32
- stacks: deployments
33
- });
34
- if (pulumiResourceNamePrefix) {
35
- app.onResource(resource => {
36
- if (!resource.name.startsWith(pulumiResourceNamePrefix)) {
37
- resource.name = `${pulumiResourceNamePrefix}${resource.name}`;
38
- }
39
- });
40
- }
41
- const deploymentsDomains = convertApplicationDomains({
42
- input: applicationsDomains
43
- });
44
- const attachedDomains = blueGreenConfig.domains;
45
- const domains = resolveDomains({
46
- attachedDomains,
47
- deploymentsDomains
48
- });
49
- const protect = app.env.isProduction;
50
- const region = new aws.Provider(Region.USEast1, {
51
- region: Region.USEast1
52
- });
53
-
54
- /**
55
- * Policies required for default Cache Behavior in CloudFront.
56
- * We need to do this outside the module creation because it is async.
57
- */
58
- const {
59
- forwardEverythingOriginRequestPolicyId,
60
- disableCachingCachePolicyId
61
- } = await createCloudFrontDefaultCacheBehaviorPolicies();
62
- const store = app.addModule(BlueGreenRouterCloudFrontStore, {
63
- protect,
64
- region
65
- });
66
- /**
67
- * TODO Maybe have switching via deployment instead of changing the key?
68
- * Key takes up to few minutes to propagate.
69
- * Deployment takes 10 seconds + 30-60 seconds for the CloudFront to propagate.
70
- */
71
- app.addResource(aws.cloudfront.KeyvaluestoreKey, {
72
- name: "blue-green-router-store-key",
73
- config: {
74
- keyValueStoreArn: store.cloudFrontStore.output.arn,
75
- key: BLUE_GREEN_ROUTER_STORE_KEY,
76
- value: "green"
77
- }
78
- });
79
- const apiGateway = app.addModule(BlueGreenRouterApiGateway, {
80
- protect,
81
- region
82
- });
83
- const cloudfront = app.addModule(BlueGreenRouterCloudFront, {
84
- protect,
85
- region,
86
- domains,
87
- cachePolicyId: disableCachingCachePolicyId,
88
- originRequestPolicyId: forwardEverythingOriginRequestPolicyId
89
- });
90
- const domainNames = domains.reduce((collection, domain) => {
91
- for (const source of domain.sources) {
92
- if (collection.includes(source)) {
93
- continue;
94
- }
95
- collection.push(source);
16
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
17
+ function createBlueGreenPulumiApp() {
18
+ return createPulumiApp({
19
+ name: "blueGreen",
20
+ path: "apps/blueGreen",
21
+ program: async (app)=>{
22
+ const sdk = await getProjectSdk();
23
+ const projectConfig = await sdk.getProjectConfig();
24
+ const blueGreenConfig = getBgDeploymentsConfigFromExtension(projectConfig);
25
+ if (!blueGreenConfig) throw new Error("Blue/Green deployments are not enabled. Please enable them in the project configuration.");
26
+ const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();
27
+ const deployments = validateDeployments(blueGreenConfig.deployments);
28
+ const applicationsDomains = await getApplicationDomains({
29
+ stacks: deployments
30
+ });
31
+ if (pulumiResourceNamePrefix) app.onResource((resource)=>{
32
+ if (!resource.name.startsWith(pulumiResourceNamePrefix)) resource.name = `${pulumiResourceNamePrefix}${resource.name}`;
33
+ });
34
+ const deploymentsDomains = convertApplicationDomains({
35
+ input: applicationsDomains
36
+ });
37
+ const attachedDomains = blueGreenConfig.domains;
38
+ const domains = resolveDomains({
39
+ attachedDomains,
40
+ deploymentsDomains
41
+ });
42
+ const protect = app.env.isProduction;
43
+ const region = new __rspack_external__pulumi_aws_e7af83c1.Provider(__rspack_external__pulumi_aws_e7af83c1.Region.USEast1, {
44
+ region: __rspack_external__pulumi_aws_e7af83c1.Region.USEast1
45
+ });
46
+ const { forwardEverythingOriginRequestPolicyId, disableCachingCachePolicyId } = await createCloudFrontDefaultCacheBehaviorPolicies();
47
+ const store = app.addModule(BlueGreenRouterCloudFrontStore, {
48
+ protect,
49
+ region
50
+ });
51
+ app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudfront.KeyvaluestoreKey, {
52
+ name: "blue-green-router-store-key",
53
+ config: {
54
+ keyValueStoreArn: store.cloudFrontStore.output.arn,
55
+ key: BLUE_GREEN_ROUTER_STORE_KEY,
56
+ value: "green"
57
+ }
58
+ });
59
+ const apiGateway = app.addModule(BlueGreenRouterApiGateway, {
60
+ protect,
61
+ region
62
+ });
63
+ const cloudfront = app.addModule(BlueGreenRouterCloudFront, {
64
+ protect,
65
+ region,
66
+ domains,
67
+ cachePolicyId: disableCachingCachePolicyId,
68
+ originRequestPolicyId: forwardEverythingOriginRequestPolicyId
69
+ });
70
+ const domainNames = domains.reduce((collection, domain)=>{
71
+ for (const source of domain.sources)if (!collection.includes(source)) collection.push(source);
72
+ return collection;
73
+ }, []);
74
+ applyCustomDomain(cloudfront.cloudFront, {
75
+ domains: domainNames,
76
+ sslSupportMethod: attachedDomains.sslSupportMethod,
77
+ acmCertificateArn: attachedDomains.acmCertificateArn
78
+ });
79
+ attachDomainsToOutput({
80
+ app,
81
+ domains,
82
+ cloudFront: cloudfront.cloudFront
83
+ });
84
+ await applyAwsResourceTags("blueGreen");
85
+ return {
86
+ region,
87
+ cloudfront,
88
+ apiGateway,
89
+ store
90
+ };
96
91
  }
97
- return collection;
98
- }, []);
99
- applyCustomDomain(cloudfront.cloudFront, {
100
- domains: domainNames,
101
- sslSupportMethod: attachedDomains.sslSupportMethod,
102
- acmCertificateArn: attachedDomains.acmCertificateArn
103
- });
104
- attachDomainsToOutput({
105
- app,
106
- domains,
107
- cloudFront: cloudfront.cloudFront
108
- });
109
-
110
- // Applies internal and user-defined AWS tags.
111
- await applyAwsResourceTags("blueGreen");
112
- return {
113
- region,
114
- cloudfront,
115
- apiGateway,
116
- store
117
- };
118
- }
119
- });
92
+ });
120
93
  }
94
+ export { createBlueGreenPulumiApp };
121
95
 
122
96
  //# sourceMappingURL=createBlueGreenPulumiApp.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["aws","Region","createPulumiApp","BlueGreenRouterCloudFront","createCloudFrontDefaultCacheBehaviorPolicies","BlueGreenRouterApiGateway","BlueGreenRouterCloudFrontStore","validateDeployments","getApplicationDomains","convertApplicationDomains","resolveDomains","applyCustomDomain","attachDomainsToOutput","BLUE_GREEN_ROUTER_STORE_KEY","getProjectSdk","applyAwsResourceTags","getBgDeploymentsConfigFromExtension","createBlueGreenPulumiApp","name","path","program","app","sdk","projectConfig","getProjectConfig","blueGreenConfig","Error","pulumiResourceNamePrefix","getPulumiResourceNamePrefix","deployments","applicationsDomains","stacks","onResource","resource","startsWith","deploymentsDomains","input","attachedDomains","domains","protect","env","isProduction","region","Provider","USEast1","forwardEverythingOriginRequestPolicyId","disableCachingCachePolicyId","store","addModule","addResource","cloudfront","KeyvaluestoreKey","config","keyValueStoreArn","cloudFrontStore","output","arn","key","value","apiGateway","cachePolicyId","originRequestPolicyId","domainNames","reduce","collection","domain","source","sources","includes","push","cloudFront","sslSupportMethod","acmCertificateArn"],"sources":["createBlueGreenPulumiApp.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { Region } from \"@pulumi/aws\";\nimport { createPulumiApp } from \"@webiny/pulumi\";\nimport { BlueGreenRouterCloudFront } from \"./BlueGreenRouterCloudFront.js\";\nimport { createCloudFrontDefaultCacheBehaviorPolicies } from \"./cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js\";\nimport { BlueGreenRouterApiGateway } from \"./BlueGreenRouterApiGateway.js\";\nimport { BlueGreenRouterCloudFrontStore } from \"./BlueGreenRouterCloudFrontStore.js\";\nimport { validateDeployments } from \"./validation/validateDeployments.js\";\nimport { getApplicationDomains } from \"./domains/getApplicationDomains.js\";\nimport { convertApplicationDomains } from \"./domains/convertApplicationDomains.js\";\nimport { resolveDomains } from \"./domains/resolveDomains.js\";\nimport { applyCustomDomain } from \"~/pulumi/apps/customDomain.js\";\nimport { attachDomainsToOutput } from \"~/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js\";\nimport { BLUE_GREEN_ROUTER_STORE_KEY } from \"./constants.js\";\nimport { getProjectSdk } from \"@webiny/project\";\nimport { applyAwsResourceTags } from \"~/pulumi/apps/awsUtils.js\";\nimport { getBgDeploymentsConfigFromExtension } from \"~/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js\";\n\nexport function createBlueGreenPulumiApp() {\n return createPulumiApp({\n name: \"blueGreen\",\n path: \"apps/blueGreen\",\n program: async app => {\n const sdk = await getProjectSdk();\n const projectConfig = await sdk.getProjectConfig();\n\n const blueGreenConfig = getBgDeploymentsConfigFromExtension(projectConfig);\n if (!blueGreenConfig) {\n throw new Error(\n `Blue/Green deployments are not enabled. Please enable them in the project configuration.`\n );\n }\n\n const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();\n const deployments = validateDeployments(blueGreenConfig.deployments);\n\n const applicationsDomains = await getApplicationDomains({\n stacks: deployments\n });\n\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n const deploymentsDomains = convertApplicationDomains({\n input: applicationsDomains\n });\n\n const attachedDomains = blueGreenConfig.domains;\n\n const domains = resolveDomains({\n attachedDomains,\n deploymentsDomains\n });\n const protect = app.env.isProduction;\n\n const region = new aws.Provider(Region.USEast1, {\n region: Region.USEast1\n });\n\n /**\n * Policies required for default Cache Behavior in CloudFront.\n * We need to do this outside the module creation because it is async.\n */\n const { forwardEverythingOriginRequestPolicyId, disableCachingCachePolicyId } =\n await createCloudFrontDefaultCacheBehaviorPolicies();\n const store = app.addModule(BlueGreenRouterCloudFrontStore, {\n protect,\n region\n });\n /**\n * TODO Maybe have switching via deployment instead of changing the key?\n * Key takes up to few minutes to propagate.\n * Deployment takes 10 seconds + 30-60 seconds for the CloudFront to propagate.\n */\n app.addResource(aws.cloudfront.KeyvaluestoreKey, {\n name: \"blue-green-router-store-key\",\n config: {\n keyValueStoreArn: store.cloudFrontStore.output.arn,\n key: BLUE_GREEN_ROUTER_STORE_KEY,\n value: \"green\"\n }\n });\n\n const apiGateway = app.addModule(BlueGreenRouterApiGateway, {\n protect,\n region\n });\n\n const cloudfront = app.addModule(BlueGreenRouterCloudFront, {\n protect,\n region,\n domains,\n cachePolicyId: disableCachingCachePolicyId,\n originRequestPolicyId: forwardEverythingOriginRequestPolicyId\n });\n\n const domainNames = domains.reduce<string[]>((collection, domain) => {\n for (const source of domain.sources) {\n if (collection.includes(source)) {\n continue;\n }\n collection.push(source);\n }\n return collection;\n }, []);\n\n applyCustomDomain(cloudfront.cloudFront, {\n domains: domainNames,\n sslSupportMethod: attachedDomains.sslSupportMethod,\n acmCertificateArn: attachedDomains.acmCertificateArn\n });\n\n attachDomainsToOutput({\n app,\n domains,\n cloudFront: cloudfront.cloudFront\n });\n\n // Applies internal and user-defined AWS tags.\n await applyAwsResourceTags(\"blueGreen\");\n\n return {\n region,\n cloudfront,\n apiGateway,\n store\n };\n }\n });\n}\n"],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,aAAa;AAClC,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,eAAe,QAAQ,gBAAgB;AAChD,SAASC,yBAAyB;AAClC,SAASC,4CAA4C;AACrD,SAASC,yBAAyB;AAClC,SAASC,8BAA8B;AACvC,SAASC,mBAAmB;AAC5B,SAASC,qBAAqB;AAC9B,SAASC,yBAAyB;AAClC,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,qBAAqB;AAC9B,SAASC,2BAA2B;AACpC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,oBAAoB;AAC7B,SAASC,mCAAmC;AAE5C,OAAO,SAASC,wBAAwBA,CAAA,EAAG;EACvC,OAAOf,eAAe,CAAC;IACnBgB,IAAI,EAAE,WAAW;IACjBC,IAAI,EAAE,gBAAgB;IACtBC,OAAO,EAAE,MAAMC,GAAG,IAAI;MAClB,MAAMC,GAAG,GAAG,MAAMR,aAAa,CAAC,CAAC;MACjC,MAAMS,aAAa,GAAG,MAAMD,GAAG,CAACE,gBAAgB,CAAC,CAAC;MAElD,MAAMC,eAAe,GAAGT,mCAAmC,CAACO,aAAa,CAAC;MAC1E,IAAI,CAACE,eAAe,EAAE;QAClB,MAAM,IAAIC,KAAK,CACX,0FACJ,CAAC;MACL;MAEA,MAAMC,wBAAwB,GAAG,MAAML,GAAG,CAACM,2BAA2B,CAAC,CAAC;MACxE,MAAMC,WAAW,GAAGtB,mBAAmB,CAACkB,eAAe,CAACI,WAAW,CAAC;MAEpE,MAAMC,mBAAmB,GAAG,MAAMtB,qBAAqB,CAAC;QACpDuB,MAAM,EAAEF;MACZ,CAAC,CAAC;MAEF,IAAIF,wBAAwB,EAAE;QAC1BN,GAAG,CAACW,UAAU,CAACC,QAAQ,IAAI;UACvB,IAAI,CAACA,QAAQ,CAACf,IAAI,CAACgB,UAAU,CAACP,wBAAwB,CAAC,EAAE;YACrDM,QAAQ,CAACf,IAAI,GAAG,GAAGS,wBAAwB,GAAGM,QAAQ,CAACf,IAAI,EAAE;UACjE;QACJ,CAAC,CAAC;MACN;MAEA,MAAMiB,kBAAkB,GAAG1B,yBAAyB,CAAC;QACjD2B,KAAK,EAAEN;MACX,CAAC,CAAC;MAEF,MAAMO,eAAe,GAAGZ,eAAe,CAACa,OAAO;MAE/C,MAAMA,OAAO,GAAG5B,cAAc,CAAC;QAC3B2B,eAAe;QACfF;MACJ,CAAC,CAAC;MACF,MAAMI,OAAO,GAAGlB,GAAG,CAACmB,GAAG,CAACC,YAAY;MAEpC,MAAMC,MAAM,GAAG,IAAI1C,GAAG,CAAC2C,QAAQ,CAAC1C,MAAM,CAAC2C,OAAO,EAAE;QAC5CF,MAAM,EAAEzC,MAAM,CAAC2C;MACnB,CAAC,CAAC;;MAEF;AACZ;AACA;AACA;MACY,MAAM;QAAEC,sCAAsC;QAAEC;MAA4B,CAAC,GACzE,MAAM1C,4CAA4C,CAAC,CAAC;MACxD,MAAM2C,KAAK,GAAG1B,GAAG,CAAC2B,SAAS,CAAC1C,8BAA8B,EAAE;QACxDiC,OAAO;QACPG;MACJ,CAAC,CAAC;MACF;AACZ;AACA;AACA;AACA;MACYrB,GAAG,CAAC4B,WAAW,CAACjD,GAAG,CAACkD,UAAU,CAACC,gBAAgB,EAAE;QAC7CjC,IAAI,EAAE,6BAA6B;QACnCkC,MAAM,EAAE;UACJC,gBAAgB,EAAEN,KAAK,CAACO,eAAe,CAACC,MAAM,CAACC,GAAG;UAClDC,GAAG,EAAE5C,2BAA2B;UAChC6C,KAAK,EAAE;QACX;MACJ,CAAC,CAAC;MAEF,MAAMC,UAAU,GAAGtC,GAAG,CAAC2B,SAAS,CAAC3C,yBAAyB,EAAE;QACxDkC,OAAO;QACPG;MACJ,CAAC,CAAC;MAEF,MAAMQ,UAAU,GAAG7B,GAAG,CAAC2B,SAAS,CAAC7C,yBAAyB,EAAE;QACxDoC,OAAO;QACPG,MAAM;QACNJ,OAAO;QACPsB,aAAa,EAAEd,2BAA2B;QAC1Ce,qBAAqB,EAAEhB;MAC3B,CAAC,CAAC;MAEF,MAAMiB,WAAW,GAAGxB,OAAO,CAACyB,MAAM,CAAW,CAACC,UAAU,EAAEC,MAAM,KAAK;QACjE,KAAK,MAAMC,MAAM,IAAID,MAAM,CAACE,OAAO,EAAE;UACjC,IAAIH,UAAU,CAACI,QAAQ,CAACF,MAAM,CAAC,EAAE;YAC7B;UACJ;UACAF,UAAU,CAACK,IAAI,CAACH,MAAM,CAAC;QAC3B;QACA,OAAOF,UAAU;MACrB,CAAC,EAAE,EAAE,CAAC;MAENrD,iBAAiB,CAACuC,UAAU,CAACoB,UAAU,EAAE;QACrChC,OAAO,EAAEwB,WAAW;QACpBS,gBAAgB,EAAElC,eAAe,CAACkC,gBAAgB;QAClDC,iBAAiB,EAAEnC,eAAe,CAACmC;MACvC,CAAC,CAAC;MAEF5D,qBAAqB,CAAC;QAClBS,GAAG;QACHiB,OAAO;QACPgC,UAAU,EAAEpB,UAAU,CAACoB;MAC3B,CAAC,CAAC;;MAEF;MACA,MAAMvD,oBAAoB,CAAC,WAAW,CAAC;MAEvC,OAAO;QACH2B,MAAM;QACNQ,UAAU;QACVS,UAAU;QACVZ;MACJ,CAAC;IACL;EACJ,CAAC,CAAC;AACN","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/createBlueGreenPulumiApp.js","sources":["../../../../src/pulumi/apps/blueGreen/createBlueGreenPulumiApp.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport { Region } from \"@pulumi/aws\";\nimport { createPulumiApp } from \"@webiny/pulumi\";\nimport { BlueGreenRouterCloudFront } from \"./BlueGreenRouterCloudFront.js\";\nimport { createCloudFrontDefaultCacheBehaviorPolicies } from \"./cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js\";\nimport { BlueGreenRouterApiGateway } from \"./BlueGreenRouterApiGateway.js\";\nimport { BlueGreenRouterCloudFrontStore } from \"./BlueGreenRouterCloudFrontStore.js\";\nimport { validateDeployments } from \"./validation/validateDeployments.js\";\nimport { getApplicationDomains } from \"./domains/getApplicationDomains.js\";\nimport { convertApplicationDomains } from \"./domains/convertApplicationDomains.js\";\nimport { resolveDomains } from \"./domains/resolveDomains.js\";\nimport { applyCustomDomain } from \"~/pulumi/apps/customDomain.js\";\nimport { attachDomainsToOutput } from \"~/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js\";\nimport { BLUE_GREEN_ROUTER_STORE_KEY } from \"./constants.js\";\nimport { getProjectSdk } from \"@webiny/project\";\nimport { applyAwsResourceTags } from \"~/pulumi/apps/awsUtils.js\";\nimport { getBgDeploymentsConfigFromExtension } from \"~/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js\";\n\nexport function createBlueGreenPulumiApp() {\n return createPulumiApp({\n name: \"blueGreen\",\n path: \"apps/blueGreen\",\n program: async app => {\n const sdk = await getProjectSdk();\n const projectConfig = await sdk.getProjectConfig();\n\n const blueGreenConfig = getBgDeploymentsConfigFromExtension(projectConfig);\n if (!blueGreenConfig) {\n throw new Error(\n `Blue/Green deployments are not enabled. Please enable them in the project configuration.`\n );\n }\n\n const pulumiResourceNamePrefix = await sdk.getPulumiResourceNamePrefix();\n const deployments = validateDeployments(blueGreenConfig.deployments);\n\n const applicationsDomains = await getApplicationDomains({\n stacks: deployments\n });\n\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n const deploymentsDomains = convertApplicationDomains({\n input: applicationsDomains\n });\n\n const attachedDomains = blueGreenConfig.domains;\n\n const domains = resolveDomains({\n attachedDomains,\n deploymentsDomains\n });\n const protect = app.env.isProduction;\n\n const region = new aws.Provider(Region.USEast1, {\n region: Region.USEast1\n });\n\n /**\n * Policies required for default Cache Behavior in CloudFront.\n * We need to do this outside the module creation because it is async.\n */\n const { forwardEverythingOriginRequestPolicyId, disableCachingCachePolicyId } =\n await createCloudFrontDefaultCacheBehaviorPolicies();\n const store = app.addModule(BlueGreenRouterCloudFrontStore, {\n protect,\n region\n });\n /**\n * TODO Maybe have switching via deployment instead of changing the key?\n * Key takes up to few minutes to propagate.\n * Deployment takes 10 seconds + 30-60 seconds for the CloudFront to propagate.\n */\n app.addResource(aws.cloudfront.KeyvaluestoreKey, {\n name: \"blue-green-router-store-key\",\n config: {\n keyValueStoreArn: store.cloudFrontStore.output.arn,\n key: BLUE_GREEN_ROUTER_STORE_KEY,\n value: \"green\"\n }\n });\n\n const apiGateway = app.addModule(BlueGreenRouterApiGateway, {\n protect,\n region\n });\n\n const cloudfront = app.addModule(BlueGreenRouterCloudFront, {\n protect,\n region,\n domains,\n cachePolicyId: disableCachingCachePolicyId,\n originRequestPolicyId: forwardEverythingOriginRequestPolicyId\n });\n\n const domainNames = domains.reduce<string[]>((collection, domain) => {\n for (const source of domain.sources) {\n if (collection.includes(source)) {\n continue;\n }\n collection.push(source);\n }\n return collection;\n }, []);\n\n applyCustomDomain(cloudfront.cloudFront, {\n domains: domainNames,\n sslSupportMethod: attachedDomains.sslSupportMethod,\n acmCertificateArn: attachedDomains.acmCertificateArn\n });\n\n attachDomainsToOutput({\n app,\n domains,\n cloudFront: cloudfront.cloudFront\n });\n\n // Applies internal and user-defined AWS tags.\n await applyAwsResourceTags(\"blueGreen\");\n\n return {\n region,\n cloudfront,\n apiGateway,\n store\n };\n }\n });\n}\n"],"names":["createBlueGreenPulumiApp","createPulumiApp","app","sdk","getProjectSdk","projectConfig","blueGreenConfig","getBgDeploymentsConfigFromExtension","Error","pulumiResourceNamePrefix","deployments","validateDeployments","applicationsDomains","getApplicationDomains","resource","deploymentsDomains","convertApplicationDomains","attachedDomains","domains","resolveDomains","protect","region","aws","Region","forwardEverythingOriginRequestPolicyId","disableCachingCachePolicyId","createCloudFrontDefaultCacheBehaviorPolicies","store","BlueGreenRouterCloudFrontStore","BLUE_GREEN_ROUTER_STORE_KEY","apiGateway","BlueGreenRouterApiGateway","cloudfront","BlueGreenRouterCloudFront","domainNames","collection","domain","source","applyCustomDomain","attachDomainsToOutput","applyAwsResourceTags"],"mappings":";;;;;;;;;;;;;;;;AAkBO,SAASA;IACZ,OAAOC,gBAAgB;QACnB,MAAM;QACN,MAAM;QACN,SAAS,OAAMC;YACX,MAAMC,MAAM,MAAMC;YAClB,MAAMC,gBAAgB,MAAMF,IAAI,gBAAgB;YAEhD,MAAMG,kBAAkBC,oCAAoCF;YAC5D,IAAI,CAACC,iBACD,MAAM,IAAIE,MACN;YAIR,MAAMC,2BAA2B,MAAMN,IAAI,2BAA2B;YACtE,MAAMO,cAAcC,oBAAoBL,gBAAgB,WAAW;YAEnE,MAAMM,sBAAsB,MAAMC,sBAAsB;gBACpD,QAAQH;YACZ;YAEA,IAAID,0BACAP,IAAI,UAAU,CAACY,CAAAA;gBACX,IAAI,CAACA,SAAS,IAAI,CAAC,UAAU,CAACL,2BAC1BK,SAAS,IAAI,GAAG,GAAGL,2BAA2BK,SAAS,IAAI,EAAE;YAErE;YAGJ,MAAMC,qBAAqBC,0BAA0B;gBACjD,OAAOJ;YACX;YAEA,MAAMK,kBAAkBX,gBAAgB,OAAO;YAE/C,MAAMY,UAAUC,eAAe;gBAC3BF;gBACAF;YACJ;YACA,MAAMK,UAAUlB,IAAI,GAAG,CAAC,YAAY;YAEpC,MAAMmB,SAAS,IAAIC,uCAAAA,QAAY,CAACC,uCAAAA,MAAAA,CAAAA,OAAc,EAAE;gBAC5C,QAAQA,uCAAAA,MAAAA,CAAAA,OAAc;YAC1B;YAMA,MAAM,EAAEC,sCAAsC,EAAEC,2BAA2B,EAAE,GACzE,MAAMC;YACV,MAAMC,QAAQzB,IAAI,SAAS,CAAC0B,gCAAgC;gBACxDR;gBACAC;YACJ;YAMAnB,IAAI,WAAW,CAACoB,uCAAAA,UAAAA,CAAAA,gBAA+B,EAAE;gBAC7C,MAAM;gBACN,QAAQ;oBACJ,kBAAkBK,MAAM,eAAe,CAAC,MAAM,CAAC,GAAG;oBAClD,KAAKE;oBACL,OAAO;gBACX;YACJ;YAEA,MAAMC,aAAa5B,IAAI,SAAS,CAAC6B,2BAA2B;gBACxDX;gBACAC;YACJ;YAEA,MAAMW,aAAa9B,IAAI,SAAS,CAAC+B,2BAA2B;gBACxDb;gBACAC;gBACAH;gBACA,eAAeO;gBACf,uBAAuBD;YAC3B;YAEA,MAAMU,cAAchB,QAAQ,MAAM,CAAW,CAACiB,YAAYC;gBACtD,KAAK,MAAMC,UAAUD,OAAO,OAAO,CAC/B,KAAID,WAAW,QAAQ,CAACE,SAGxBF,WAAW,IAAI,CAACE;gBAEpB,OAAOF;YACX,GAAG,EAAE;YAELG,kBAAkBN,WAAW,UAAU,EAAE;gBACrC,SAASE;gBACT,kBAAkBjB,gBAAgB,gBAAgB;gBAClD,mBAAmBA,gBAAgB,iBAAiB;YACxD;YAEAsB,sBAAsB;gBAClBrC;gBACAgB;gBACA,YAAYc,WAAW,UAAU;YACrC;YAGA,MAAMQ,qBAAqB;YAE3B,OAAO;gBACHnB;gBACAW;gBACAF;gBACAH;YACJ;QACJ;IACJ;AACJ"}
@@ -1,30 +1,24 @@
1
- export const attachDomainsToOutput = params => {
2
- const {
3
- app,
4
- cloudFront
5
- } = params;
6
- app.addHandler(() => {
7
- const distributionDomain = cloudFront.output.domainName;
8
- const distributionUrl = distributionDomain.apply(value => `https://${value}`);
9
- app.addOutputs({
10
- ["distributionDomain"]: distributionDomain,
11
- ["distributionUrl"]: distributionUrl,
12
- ["environments"]: params.domains,
13
- ["domains"]: []
1
+ const attachDomainsToOutput = (params)=>{
2
+ const { app, cloudFront } = params;
3
+ app.addHandler(()=>{
4
+ const distributionDomain = cloudFront.output.domainName;
5
+ const distributionUrl = distributionDomain.apply((value)=>`https://${value}`);
6
+ app.addOutputs({
7
+ ["distributionDomain"]: distributionDomain,
8
+ ["distributionUrl"]: distributionUrl,
9
+ ["environments"]: params.domains,
10
+ ["domains"]: []
11
+ });
12
+ cloudFront.config.aliases((aliases)=>{
13
+ const domains = [];
14
+ for (const alias of aliases || [])domains.push(alias);
15
+ app.addOutputs({
16
+ ["domains"]: domains
17
+ });
18
+ return aliases;
19
+ });
14
20
  });
15
- // We're adjusting the outputs via the `config.aliases` setter.
16
- // At the time of implementing this, could not find a better solution.
17
- cloudFront.config.aliases(aliases => {
18
- const domains = [];
19
- for (const alias of aliases || []) {
20
- domains.push(alias);
21
- }
22
- app.addOutputs({
23
- ["domains"]: domains
24
- });
25
- return aliases;
26
- });
27
- });
28
21
  };
22
+ export { attachDomainsToOutput };
29
23
 
30
24
  //# sourceMappingURL=attachDomainsToOutput.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["attachDomainsToOutput","params","app","cloudFront","addHandler","distributionDomain","output","domainName","distributionUrl","apply","value","addOutputs","domains","config","aliases","alias","push"],"sources":["attachDomainsToOutput.ts"],"sourcesContent":["import type * as aws from \"@pulumi/aws\";\nimport { type PulumiApp, type PulumiAppResource } from \"@webiny/pulumi\";\nimport type { IResolvedDomains } from \"~/pulumi/apps/blueGreen/types.js\";\n\nexport interface IAttachDomainsToOutputParams {\n app: PulumiApp;\n domains: IResolvedDomains;\n cloudFront: PulumiAppResource<typeof aws.cloudfront.Distribution>;\n}\n\nexport const attachDomainsToOutput = (params: IAttachDomainsToOutputParams) => {\n const { app, cloudFront } = params;\n\n app.addHandler(() => {\n const distributionDomain = cloudFront.output.domainName;\n const distributionUrl = distributionDomain.apply(value => `https://${value}`);\n\n app.addOutputs({\n [\"distributionDomain\"]: distributionDomain,\n [\"distributionUrl\"]: distributionUrl,\n [\"environments\"]: params.domains,\n [\"domains\"]: []\n });\n // We're adjusting the outputs via the `config.aliases` setter.\n // At the time of implementing this, could not find a better solution.\n cloudFront.config.aliases(aliases => {\n const domains: string[] = [];\n\n for (const alias of aliases || []) {\n domains.push(alias);\n }\n\n app.addOutputs({\n [\"domains\"]: domains\n });\n\n return aliases;\n });\n });\n};\n"],"mappings":"AAUA,OAAO,MAAMA,qBAAqB,GAAIC,MAAoC,IAAK;EAC3E,MAAM;IAAEC,GAAG;IAAEC;EAAW,CAAC,GAAGF,MAAM;EAElCC,GAAG,CAACE,UAAU,CAAC,MAAM;IACjB,MAAMC,kBAAkB,GAAGF,UAAU,CAACG,MAAM,CAACC,UAAU;IACvD,MAAMC,eAAe,GAAGH,kBAAkB,CAACI,KAAK,CAACC,KAAK,IAAI,WAAWA,KAAK,EAAE,CAAC;IAE7ER,GAAG,CAACS,UAAU,CAAC;MACX,CAAC,oBAAoB,GAAGN,kBAAkB;MAC1C,CAAC,iBAAiB,GAAGG,eAAe;MACpC,CAAC,cAAc,GAAGP,MAAM,CAACW,OAAO;MAChC,CAAC,SAAS,GAAG;IACjB,CAAC,CAAC;IACF;IACA;IACAT,UAAU,CAACU,MAAM,CAACC,OAAO,CAACA,OAAO,IAAI;MACjC,MAAMF,OAAiB,GAAG,EAAE;MAE5B,KAAK,MAAMG,KAAK,IAAID,OAAO,IAAI,EAAE,EAAE;QAC/BF,OAAO,CAACI,IAAI,CAACD,KAAK,CAAC;MACvB;MAEAb,GAAG,CAACS,UAAU,CAAC;QACX,CAAC,SAAS,GAAGC;MACjB,CAAC,CAAC;MAEF,OAAOE,OAAO;IAClB,CAAC,CAAC;EACN,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/domains/attachDomainsToOutput.js","sources":["../../../../../src/pulumi/apps/blueGreen/domains/attachDomainsToOutput.ts"],"sourcesContent":["import type * as aws from \"@pulumi/aws\";\nimport { type PulumiApp, type PulumiAppResource } from \"@webiny/pulumi\";\nimport type { IResolvedDomains } from \"~/pulumi/apps/blueGreen/types.js\";\n\nexport interface IAttachDomainsToOutputParams {\n app: PulumiApp;\n domains: IResolvedDomains;\n cloudFront: PulumiAppResource<typeof aws.cloudfront.Distribution>;\n}\n\nexport const attachDomainsToOutput = (params: IAttachDomainsToOutputParams) => {\n const { app, cloudFront } = params;\n\n app.addHandler(() => {\n const distributionDomain = cloudFront.output.domainName;\n const distributionUrl = distributionDomain.apply(value => `https://${value}`);\n\n app.addOutputs({\n [\"distributionDomain\"]: distributionDomain,\n [\"distributionUrl\"]: distributionUrl,\n [\"environments\"]: params.domains,\n [\"domains\"]: []\n });\n // We're adjusting the outputs via the `config.aliases` setter.\n // At the time of implementing this, could not find a better solution.\n cloudFront.config.aliases(aliases => {\n const domains: string[] = [];\n\n for (const alias of aliases || []) {\n domains.push(alias);\n }\n\n app.addOutputs({\n [\"domains\"]: domains\n });\n\n return aliases;\n });\n });\n};\n"],"names":["attachDomainsToOutput","params","app","cloudFront","distributionDomain","distributionUrl","value","aliases","domains","alias"],"mappings":"AAUO,MAAMA,wBAAwB,CAACC;IAClC,MAAM,EAAEC,GAAG,EAAEC,UAAU,EAAE,GAAGF;IAE5BC,IAAI,UAAU,CAAC;QACX,MAAME,qBAAqBD,WAAW,MAAM,CAAC,UAAU;QACvD,MAAME,kBAAkBD,mBAAmB,KAAK,CAACE,CAAAA,QAAS,CAAC,QAAQ,EAAEA,OAAO;QAE5EJ,IAAI,UAAU,CAAC;YACX,CAAC,qBAAqB,EAAEE;YACxB,CAAC,kBAAkB,EAAEC;YACrB,CAAC,eAAe,EAAEJ,OAAO,OAAO;YAChC,CAAC,UAAU,EAAE,EAAE;QACnB;QAGAE,WAAW,MAAM,CAAC,OAAO,CAACI,CAAAA;YACtB,MAAMC,UAAoB,EAAE;YAE5B,KAAK,MAAMC,SAASF,WAAW,EAAE,CAC7BC,QAAQ,IAAI,CAACC;YAGjBP,IAAI,UAAU,CAAC;gBACX,CAAC,UAAU,EAAEM;YACjB;YAEA,OAAOD;QACX;IACJ;AACJ"}
@@ -1,23 +1,20 @@
1
- export const convertApplicationDomains = params => {
2
- const {
3
- input
4
- } = params;
5
- const result = Object.keys(input).map(name => {
6
- const value = input[name];
7
- return {
8
- name,
9
- env: value.env,
10
- variant: value.variant,
11
- domains: {
12
- api: value.api,
13
- admin: value.admin
14
- }
15
- };
16
- });
17
- if (result.length !== 2) {
18
- throw new Error("Invalid number of domains.");
19
- }
20
- return result;
1
+ const convertApplicationDomains = (params)=>{
2
+ const { input } = params;
3
+ const result = Object.keys(input).map((name)=>{
4
+ const value = input[name];
5
+ return {
6
+ name,
7
+ env: value.env,
8
+ variant: value.variant,
9
+ domains: {
10
+ api: value.api,
11
+ admin: value.admin
12
+ }
13
+ };
14
+ });
15
+ if (2 !== result.length) throw new Error("Invalid number of domains.");
16
+ return result;
21
17
  };
18
+ export { convertApplicationDomains };
22
19
 
23
20
  //# sourceMappingURL=convertApplicationDomains.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["convertApplicationDomains","params","input","result","Object","keys","map","name","value","env","variant","domains","api","admin","length","Error"],"sources":["convertApplicationDomains.ts"],"sourcesContent":["import type { IGetApplicationStacksResult } from \"./getApplicationDomains.js\";\nimport type { IDeploymentDomain, IDeploymentsDomains } from \"../types.js\";\n\nexport interface IConvertApplicationDomainsParams {\n input: IGetApplicationStacksResult;\n}\n\nexport const convertApplicationDomains = (\n params: IConvertApplicationDomainsParams\n): IDeploymentsDomains => {\n const { input } = params;\n\n const result = Object.keys(input).map<IDeploymentDomain>(name => {\n const value = input[name];\n return {\n name,\n env: value.env,\n variant: value.variant,\n domains: {\n api: value.api,\n admin: value.admin\n }\n };\n });\n if (result.length !== 2) {\n throw new Error(\"Invalid number of domains.\");\n }\n return result as IDeploymentsDomains;\n};\n"],"mappings":"AAOA,OAAO,MAAMA,yBAAyB,GAClCC,MAAwC,IAClB;EACtB,MAAM;IAAEC;EAAM,CAAC,GAAGD,MAAM;EAExB,MAAME,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAACI,GAAG,CAAoBC,IAAI,IAAI;IAC7D,MAAMC,KAAK,GAAGN,KAAK,CAACK,IAAI,CAAC;IACzB,OAAO;MACHA,IAAI;MACJE,GAAG,EAAED,KAAK,CAACC,GAAG;MACdC,OAAO,EAAEF,KAAK,CAACE,OAAO;MACtBC,OAAO,EAAE;QACLC,GAAG,EAAEJ,KAAK,CAACI,GAAG;QACdC,KAAK,EAAEL,KAAK,CAACK;MACjB;IACJ,CAAC;EACL,CAAC,CAAC;EACF,IAAIV,MAAM,CAACW,MAAM,KAAK,CAAC,EAAE;IACrB,MAAM,IAAIC,KAAK,CAAC,4BAA4B,CAAC;EACjD;EACA,OAAOZ,MAAM;AACjB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/domains/convertApplicationDomains.js","sources":["../../../../../src/pulumi/apps/blueGreen/domains/convertApplicationDomains.ts"],"sourcesContent":["import type { IGetApplicationStacksResult } from \"./getApplicationDomains.js\";\nimport type { IDeploymentDomain, IDeploymentsDomains } from \"../types.js\";\n\nexport interface IConvertApplicationDomainsParams {\n input: IGetApplicationStacksResult;\n}\n\nexport const convertApplicationDomains = (\n params: IConvertApplicationDomainsParams\n): IDeploymentsDomains => {\n const { input } = params;\n\n const result = Object.keys(input).map<IDeploymentDomain>(name => {\n const value = input[name];\n return {\n name,\n env: value.env,\n variant: value.variant,\n domains: {\n api: value.api,\n admin: value.admin\n }\n };\n });\n if (result.length !== 2) {\n throw new Error(\"Invalid number of domains.\");\n }\n return result as IDeploymentsDomains;\n};\n"],"names":["convertApplicationDomains","params","input","result","Object","name","value","Error"],"mappings":"AAOO,MAAMA,4BAA4B,CACrCC;IAEA,MAAM,EAAEC,KAAK,EAAE,GAAGD;IAElB,MAAME,SAASC,OAAO,IAAI,CAACF,OAAO,GAAG,CAAoBG,CAAAA;QACrD,MAAMC,QAAQJ,KAAK,CAACG,KAAK;QACzB,OAAO;YACHA;YACA,KAAKC,MAAM,GAAG;YACd,SAASA,MAAM,OAAO;YACtB,SAAS;gBACL,KAAKA,MAAM,GAAG;gBACd,OAAOA,MAAM,KAAK;YACtB;QACJ;IACJ;IACA,IAAIH,AAAkB,MAAlBA,OAAO,MAAM,EACb,MAAM,IAAII,MAAM;IAEpB,OAAOJ;AACX"}