@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,5 +1,3 @@
1
- import * as pulumi from "@pulumi/pulumi";
2
- import * as aws from "@pulumi/aws";
3
1
  import { createAppModule } from "@webiny/pulumi";
4
2
  import { ApiGraphql, CoreOutput } from "../index.js";
5
3
  import { createBackgroundTaskDefinition } from "./backgroundTask/definition.js";
@@ -7,142 +5,160 @@ import { createBackgroundTaskStepFunctionPolicy } from "./backgroundTask/policy.
7
5
  import { createBackgroundTaskStepFunctionRole } from "./backgroundTask/role.js";
8
6
  import { getLayerArn } from "@webiny/aws-layers";
9
7
  import { getAwsAccountId, getAwsRegion } from "../awsUtils.js";
10
- export const ApiBackgroundTaskLambdaName = "background-task";
11
- export const ApiBackgroundTask = createAppModule({
12
- name: "ApiBackgroundTask",
13
- config(app) {
14
- const awsAccountId = getAwsAccountId(app);
15
- const awsRegion = getAwsRegion(app);
16
- const core = app.getModule(CoreOutput);
17
- const graphql = app.getModule(ApiGraphql);
18
- const baseConfig = graphql.functions.graphql.config.clone();
19
- const backgroundTask = app.addResource(aws.lambda.Function, {
20
- name: ApiBackgroundTaskLambdaName,
21
- config: {
22
- ...baseConfig,
23
- layers: graphql.functions.graphql.output.layers.apply(arns => {
24
- return Array.from(new Set([...(arns || []), getLayerArn("sharp")]));
25
- }),
26
- timeout: 900,
27
- memorySize: 1024,
28
- description: "Performs background tasks.",
29
- loggingConfig: {
30
- logFormat: "JSON"
31
- }
32
- }
33
- });
34
- const stepFunctionPolicy = createBackgroundTaskStepFunctionPolicy(app, {
35
- name: "background-task-sfn-policy",
36
- lambdaFunctionArn: backgroundTask.output.arn
37
- });
38
- const stepFunctionRole = createBackgroundTaskStepFunctionRole(app, {
39
- name: "background-task-sfn-role",
40
- policy: stepFunctionPolicy.output
41
- });
42
- const stepFunction = app.addResource(aws.sfn.StateMachine, {
43
- name: "background-task-sfn",
44
- config: {
45
- roleArn: stepFunctionRole.output.arn,
46
- definition: pulumi.jsonStringify(createBackgroundTaskDefinition({
47
- lambdaName: ApiBackgroundTaskLambdaName,
48
- lambdaArn: backgroundTask.output.arn
49
- }))
50
- }
51
- });
52
- const policyToAccessStepFunction = app.addResource(aws.iam.Policy, {
53
- name: "background-task-step-function-policy",
54
- config: {
55
- policy: {
56
- Version: "2012-10-17",
57
- Statement: [{
58
- Action: ["states:StartExecution", "states:StopExecution"],
59
- Effect: "Allow",
60
- Resource: [stepFunction.output.arn.apply(arn => `${arn}`), stepFunction.output.arn.apply(arn => `${arn}*`)]
61
- }, {
62
- Action: ["states:DescribeExecution", "states:ListExecutions"],
63
- Effect: "Allow",
64
- Resource: [stepFunction.output.name.apply(name => {
65
- return pulumi.interpolate`arn:aws:states:${awsRegion}:${awsAccountId}:execution:${name}:*`;
66
- })]
67
- }]
68
- }
69
- }
70
- });
71
- app.addResource(aws.iam.RolePolicyAttachment, {
72
- name: "background-task-step-function-policy-attachment-graphql",
73
- config: {
74
- policyArn: policyToAccessStepFunction.output.arn,
75
- role: graphql.role.output.name
76
- }
77
- });
78
- const eventRole = app.addResource(aws.iam.Role, {
79
- name: "background-task-event-role",
80
- config: {
81
- assumeRolePolicy: {
82
- Version: "2012-10-17",
83
- Statement: [{
84
- Action: "sts:AssumeRole",
85
- Effect: "Allow",
86
- Principal: {
87
- Service: "events.amazonaws.com"
8
+ import * as __rspack_external__pulumi_pulumi_d0276039 from "@pulumi/pulumi";
9
+ import * as __rspack_external__pulumi_aws_e7af83c1 from "@pulumi/aws";
10
+ const ApiBackgroundTaskLambdaName = "background-task";
11
+ const ApiBackgroundTask = createAppModule({
12
+ name: "ApiBackgroundTask",
13
+ config (app) {
14
+ const awsAccountId = getAwsAccountId(app);
15
+ const awsRegion = getAwsRegion(app);
16
+ const core = app.getModule(CoreOutput);
17
+ const graphql = app.getModule(ApiGraphql);
18
+ const baseConfig = graphql.functions.graphql.config.clone();
19
+ const backgroundTask = app.addResource(__rspack_external__pulumi_aws_e7af83c1.lambda.Function, {
20
+ name: ApiBackgroundTaskLambdaName,
21
+ config: {
22
+ ...baseConfig,
23
+ layers: graphql.functions.graphql.output.layers.apply((arns)=>Array.from(new Set([
24
+ ...arns || [],
25
+ getLayerArn("sharp")
26
+ ]))),
27
+ timeout: 900,
28
+ memorySize: 1024,
29
+ description: "Performs background tasks.",
30
+ loggingConfig: {
31
+ logFormat: "JSON"
32
+ }
88
33
  }
89
- }]
90
- }
91
- }
92
- });
93
- const eventPolicy = app.addResource(aws.iam.Policy, {
94
- name: "background-task-event-policy",
95
- config: {
96
- policy: {
97
- Version: "2012-10-17",
98
- Statement: [{
99
- Action: "states:StartExecution",
100
- Effect: "Allow",
101
- Resource: stepFunction.output.arn
102
- }]
103
- }
104
- }
105
- });
106
- const eventRolePolicyAttachment = app.addResource(aws.iam.RolePolicyAttachment, {
107
- name: "background-task-event-role-policy-attachment",
108
- config: {
109
- role: eventRole.output.name,
110
- policyArn: eventPolicy.output.arn
111
- }
112
- });
113
- const eventRule = app.addResource(aws.cloudwatch.EventRule, {
114
- name: "background-task-event-rule",
115
- config: {
116
- eventBusName: core.eventBusName,
117
- roleArn: eventRole.output.arn,
118
- eventPattern: JSON.stringify({
119
- "detail-type": ["WebinyBackgroundTask"]
120
- })
121
- }
122
- });
123
- const eventTarget = app.addResource(aws.cloudwatch.EventTarget, {
124
- name: "background-task-event-target",
125
- config: {
126
- // This is going to get called.
127
- arn: stepFunction.output.arn,
128
- // This is the rule which determines if this target gets called.
129
- rule: eventRule.output.name,
130
- // This is the role which gets assumed when calling the target.
131
- roleArn: eventRole.output.arn,
132
- // This is the event bus name.
133
- eventBusName: core.eventBusName
134
- }
135
- });
136
- return {
137
- backgroundTask,
138
- stepFunction,
139
- stepFunctionRole,
140
- stepFunctionPolicy,
141
- eventPolicy,
142
- eventRolePolicyAttachment,
143
- eventTarget
144
- };
145
- }
34
+ });
35
+ const stepFunctionPolicy = createBackgroundTaskStepFunctionPolicy(app, {
36
+ name: "background-task-sfn-policy",
37
+ lambdaFunctionArn: backgroundTask.output.arn
38
+ });
39
+ const stepFunctionRole = createBackgroundTaskStepFunctionRole(app, {
40
+ name: "background-task-sfn-role",
41
+ policy: stepFunctionPolicy.output
42
+ });
43
+ const stepFunction = app.addResource(__rspack_external__pulumi_aws_e7af83c1.sfn.StateMachine, {
44
+ name: "background-task-sfn",
45
+ config: {
46
+ roleArn: stepFunctionRole.output.arn,
47
+ definition: __rspack_external__pulumi_pulumi_d0276039.jsonStringify(createBackgroundTaskDefinition({
48
+ lambdaName: ApiBackgroundTaskLambdaName,
49
+ lambdaArn: backgroundTask.output.arn
50
+ }))
51
+ }
52
+ });
53
+ const policyToAccessStepFunction = app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.Policy, {
54
+ name: "background-task-step-function-policy",
55
+ config: {
56
+ policy: {
57
+ Version: "2012-10-17",
58
+ Statement: [
59
+ {
60
+ Action: [
61
+ "states:StartExecution",
62
+ "states:StopExecution"
63
+ ],
64
+ Effect: "Allow",
65
+ Resource: [
66
+ stepFunction.output.arn.apply((arn)=>`${arn}`),
67
+ stepFunction.output.arn.apply((arn)=>`${arn}*`)
68
+ ]
69
+ },
70
+ {
71
+ Action: [
72
+ "states:DescribeExecution",
73
+ "states:ListExecutions"
74
+ ],
75
+ Effect: "Allow",
76
+ Resource: [
77
+ stepFunction.output.name.apply((name)=>__rspack_external__pulumi_pulumi_d0276039.interpolate`arn:aws:states:${awsRegion}:${awsAccountId}:execution:${name}:*`)
78
+ ]
79
+ }
80
+ ]
81
+ }
82
+ }
83
+ });
84
+ app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
85
+ name: "background-task-step-function-policy-attachment-graphql",
86
+ config: {
87
+ policyArn: policyToAccessStepFunction.output.arn,
88
+ role: graphql.role.output.name
89
+ }
90
+ });
91
+ const eventRole = app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.Role, {
92
+ name: "background-task-event-role",
93
+ config: {
94
+ assumeRolePolicy: {
95
+ Version: "2012-10-17",
96
+ Statement: [
97
+ {
98
+ Action: "sts:AssumeRole",
99
+ Effect: "Allow",
100
+ Principal: {
101
+ Service: "events.amazonaws.com"
102
+ }
103
+ }
104
+ ]
105
+ }
106
+ }
107
+ });
108
+ const eventPolicy = app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.Policy, {
109
+ name: "background-task-event-policy",
110
+ config: {
111
+ policy: {
112
+ Version: "2012-10-17",
113
+ Statement: [
114
+ {
115
+ Action: "states:StartExecution",
116
+ Effect: "Allow",
117
+ Resource: stepFunction.output.arn
118
+ }
119
+ ]
120
+ }
121
+ }
122
+ });
123
+ const eventRolePolicyAttachment = app.addResource(__rspack_external__pulumi_aws_e7af83c1.iam.RolePolicyAttachment, {
124
+ name: "background-task-event-role-policy-attachment",
125
+ config: {
126
+ role: eventRole.output.name,
127
+ policyArn: eventPolicy.output.arn
128
+ }
129
+ });
130
+ const eventRule = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudwatch.EventRule, {
131
+ name: "background-task-event-rule",
132
+ config: {
133
+ eventBusName: core.eventBusName,
134
+ roleArn: eventRole.output.arn,
135
+ eventPattern: JSON.stringify({
136
+ "detail-type": [
137
+ "WebinyBackgroundTask"
138
+ ]
139
+ })
140
+ }
141
+ });
142
+ const eventTarget = app.addResource(__rspack_external__pulumi_aws_e7af83c1.cloudwatch.EventTarget, {
143
+ name: "background-task-event-target",
144
+ config: {
145
+ arn: stepFunction.output.arn,
146
+ rule: eventRule.output.name,
147
+ roleArn: eventRole.output.arn,
148
+ eventBusName: core.eventBusName
149
+ }
150
+ });
151
+ return {
152
+ backgroundTask,
153
+ stepFunction,
154
+ stepFunctionRole,
155
+ stepFunctionPolicy,
156
+ eventPolicy,
157
+ eventRolePolicyAttachment,
158
+ eventTarget
159
+ };
160
+ }
146
161
  });
162
+ export { ApiBackgroundTask, ApiBackgroundTaskLambdaName };
147
163
 
148
164
  //# sourceMappingURL=ApiBackgroundTask.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["pulumi","aws","createAppModule","ApiGraphql","CoreOutput","createBackgroundTaskDefinition","createBackgroundTaskStepFunctionPolicy","createBackgroundTaskStepFunctionRole","getLayerArn","getAwsAccountId","getAwsRegion","ApiBackgroundTaskLambdaName","ApiBackgroundTask","name","config","app","awsAccountId","awsRegion","core","getModule","graphql","baseConfig","functions","clone","backgroundTask","addResource","lambda","Function","layers","output","apply","arns","Array","from","Set","timeout","memorySize","description","loggingConfig","logFormat","stepFunctionPolicy","lambdaFunctionArn","arn","stepFunctionRole","policy","stepFunction","sfn","StateMachine","roleArn","definition","jsonStringify","lambdaName","lambdaArn","policyToAccessStepFunction","iam","Policy","Version","Statement","Action","Effect","Resource","interpolate","RolePolicyAttachment","policyArn","role","eventRole","Role","assumeRolePolicy","Principal","Service","eventPolicy","eventRolePolicyAttachment","eventRule","cloudwatch","EventRule","eventBusName","eventPattern","JSON","stringify","eventTarget","EventTarget","rule"],"sources":["ApiBackgroundTask.ts"],"sourcesContent":["import * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\nimport { ApiGraphql, CoreOutput } from \"~/pulumi/apps/index.js\";\nimport { createBackgroundTaskDefinition } from \"./backgroundTask/definition.js\";\nimport { createBackgroundTaskStepFunctionPolicy } from \"~/pulumi/apps/api/backgroundTask/policy.js\";\nimport { createBackgroundTaskStepFunctionRole } from \"./backgroundTask/role.js\";\nimport { getLayerArn } from \"@webiny/aws-layers\";\nimport { getAwsAccountId, getAwsRegion } from \"~/pulumi/apps/awsUtils.js\";\n\nexport type ApiBackgroundTask = PulumiAppModule<typeof ApiBackgroundTask>;\n\nexport const ApiBackgroundTaskLambdaName = \"background-task\";\n\nexport const ApiBackgroundTask = createAppModule({\n name: \"ApiBackgroundTask\",\n config(app: PulumiApp) {\n const awsAccountId = getAwsAccountId(app);\n const awsRegion = getAwsRegion(app);\n const core = app.getModule(CoreOutput);\n const graphql = app.getModule(ApiGraphql);\n const baseConfig = graphql.functions.graphql.config.clone();\n\n const backgroundTask = app.addResource(aws.lambda.Function, {\n name: ApiBackgroundTaskLambdaName,\n config: {\n ...baseConfig,\n layers: graphql.functions.graphql.output.layers.apply(arns => {\n return Array.from(new Set([...(arns || []), getLayerArn(\"sharp\")]));\n }),\n timeout: 900,\n memorySize: 1024,\n description: \"Performs background tasks.\",\n loggingConfig: {\n logFormat: \"JSON\"\n }\n }\n });\n\n const stepFunctionPolicy = createBackgroundTaskStepFunctionPolicy(app, {\n name: \"background-task-sfn-policy\",\n lambdaFunctionArn: backgroundTask.output.arn\n });\n\n const stepFunctionRole = createBackgroundTaskStepFunctionRole(app, {\n name: \"background-task-sfn-role\",\n policy: stepFunctionPolicy.output\n });\n\n const stepFunction = app.addResource(aws.sfn.StateMachine, {\n name: \"background-task-sfn\",\n config: {\n roleArn: stepFunctionRole.output.arn,\n definition: pulumi.jsonStringify(\n createBackgroundTaskDefinition({\n lambdaName: ApiBackgroundTaskLambdaName,\n lambdaArn: backgroundTask.output.arn\n })\n )\n }\n });\n\n const policyToAccessStepFunction = app.addResource(aws.iam.Policy, {\n name: \"background-task-step-function-policy\",\n config: {\n policy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: [\"states:StartExecution\", \"states:StopExecution\"],\n Effect: \"Allow\",\n Resource: [\n stepFunction.output.arn.apply(arn => `${arn}`),\n stepFunction.output.arn.apply(arn => `${arn}*`)\n ]\n },\n {\n Action: [\"states:DescribeExecution\", \"states:ListExecutions\"],\n Effect: \"Allow\",\n Resource: [\n stepFunction.output.name.apply(name => {\n return pulumi.interpolate`arn:aws:states:${awsRegion}:${awsAccountId}:execution:${name}:*`;\n })\n ]\n }\n ]\n }\n }\n });\n\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: \"background-task-step-function-policy-attachment-graphql\",\n config: {\n policyArn: policyToAccessStepFunction.output.arn,\n role: graphql.role.output.name\n }\n });\n\n const eventRole = app.addResource(aws.iam.Role, {\n name: \"background-task-event-role\",\n config: {\n assumeRolePolicy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: \"events.amazonaws.com\"\n }\n }\n ]\n }\n }\n });\n\n const eventPolicy = app.addResource(aws.iam.Policy, {\n name: \"background-task-event-policy\",\n config: {\n policy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: \"states:StartExecution\",\n Effect: \"Allow\",\n Resource: stepFunction.output.arn\n }\n ]\n }\n }\n });\n\n const eventRolePolicyAttachment = app.addResource(aws.iam.RolePolicyAttachment, {\n name: \"background-task-event-role-policy-attachment\",\n config: {\n role: eventRole.output.name,\n policyArn: eventPolicy.output.arn\n }\n });\n\n const eventRule = app.addResource(aws.cloudwatch.EventRule, {\n name: \"background-task-event-rule\",\n config: {\n eventBusName: core.eventBusName,\n roleArn: eventRole.output.arn,\n eventPattern: JSON.stringify({\n \"detail-type\": [\"WebinyBackgroundTask\"]\n })\n }\n });\n\n const eventTarget = app.addResource(aws.cloudwatch.EventTarget, {\n name: \"background-task-event-target\",\n config: {\n // This is going to get called.\n arn: stepFunction.output.arn,\n // This is the rule which determines if this target gets called.\n rule: eventRule.output.name,\n // This is the role which gets assumed when calling the target.\n roleArn: eventRole.output.arn,\n // This is the event bus name.\n eventBusName: core.eventBusName\n }\n });\n\n return {\n backgroundTask,\n stepFunction,\n stepFunctionRole,\n stepFunctionPolicy,\n eventPolicy,\n eventRolePolicyAttachment,\n eventTarget\n };\n }\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/api/ApiBackgroundTask.js","sources":["../../../../src/pulumi/apps/api/ApiBackgroundTask.ts"],"sourcesContent":["import * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\nimport { ApiGraphql, CoreOutput } from \"~/pulumi/apps/index.js\";\nimport { createBackgroundTaskDefinition } from \"./backgroundTask/definition.js\";\nimport { createBackgroundTaskStepFunctionPolicy } from \"~/pulumi/apps/api/backgroundTask/policy.js\";\nimport { createBackgroundTaskStepFunctionRole } from \"./backgroundTask/role.js\";\nimport { getLayerArn } from \"@webiny/aws-layers\";\nimport { getAwsAccountId, getAwsRegion } from \"~/pulumi/apps/awsUtils.js\";\n\nexport type ApiBackgroundTask = PulumiAppModule<typeof ApiBackgroundTask>;\n\nexport const ApiBackgroundTaskLambdaName = \"background-task\";\n\nexport const ApiBackgroundTask = createAppModule({\n name: \"ApiBackgroundTask\",\n config(app: PulumiApp) {\n const awsAccountId = getAwsAccountId(app);\n const awsRegion = getAwsRegion(app);\n const core = app.getModule(CoreOutput);\n const graphql = app.getModule(ApiGraphql);\n const baseConfig = graphql.functions.graphql.config.clone();\n\n const backgroundTask = app.addResource(aws.lambda.Function, {\n name: ApiBackgroundTaskLambdaName,\n config: {\n ...baseConfig,\n layers: graphql.functions.graphql.output.layers.apply(arns => {\n return Array.from(new Set([...(arns || []), getLayerArn(\"sharp\")]));\n }),\n timeout: 900,\n memorySize: 1024,\n description: \"Performs background tasks.\",\n loggingConfig: {\n logFormat: \"JSON\"\n }\n }\n });\n\n const stepFunctionPolicy = createBackgroundTaskStepFunctionPolicy(app, {\n name: \"background-task-sfn-policy\",\n lambdaFunctionArn: backgroundTask.output.arn\n });\n\n const stepFunctionRole = createBackgroundTaskStepFunctionRole(app, {\n name: \"background-task-sfn-role\",\n policy: stepFunctionPolicy.output\n });\n\n const stepFunction = app.addResource(aws.sfn.StateMachine, {\n name: \"background-task-sfn\",\n config: {\n roleArn: stepFunctionRole.output.arn,\n definition: pulumi.jsonStringify(\n createBackgroundTaskDefinition({\n lambdaName: ApiBackgroundTaskLambdaName,\n lambdaArn: backgroundTask.output.arn\n })\n )\n }\n });\n\n const policyToAccessStepFunction = app.addResource(aws.iam.Policy, {\n name: \"background-task-step-function-policy\",\n config: {\n policy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: [\"states:StartExecution\", \"states:StopExecution\"],\n Effect: \"Allow\",\n Resource: [\n stepFunction.output.arn.apply(arn => `${arn}`),\n stepFunction.output.arn.apply(arn => `${arn}*`)\n ]\n },\n {\n Action: [\"states:DescribeExecution\", \"states:ListExecutions\"],\n Effect: \"Allow\",\n Resource: [\n stepFunction.output.name.apply(name => {\n return pulumi.interpolate`arn:aws:states:${awsRegion}:${awsAccountId}:execution:${name}:*`;\n })\n ]\n }\n ]\n }\n }\n });\n\n app.addResource(aws.iam.RolePolicyAttachment, {\n name: \"background-task-step-function-policy-attachment-graphql\",\n config: {\n policyArn: policyToAccessStepFunction.output.arn,\n role: graphql.role.output.name\n }\n });\n\n const eventRole = app.addResource(aws.iam.Role, {\n name: \"background-task-event-role\",\n config: {\n assumeRolePolicy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: \"sts:AssumeRole\",\n Effect: \"Allow\",\n Principal: {\n Service: \"events.amazonaws.com\"\n }\n }\n ]\n }\n }\n });\n\n const eventPolicy = app.addResource(aws.iam.Policy, {\n name: \"background-task-event-policy\",\n config: {\n policy: {\n Version: \"2012-10-17\",\n Statement: [\n {\n Action: \"states:StartExecution\",\n Effect: \"Allow\",\n Resource: stepFunction.output.arn\n }\n ]\n }\n }\n });\n\n const eventRolePolicyAttachment = app.addResource(aws.iam.RolePolicyAttachment, {\n name: \"background-task-event-role-policy-attachment\",\n config: {\n role: eventRole.output.name,\n policyArn: eventPolicy.output.arn\n }\n });\n\n const eventRule = app.addResource(aws.cloudwatch.EventRule, {\n name: \"background-task-event-rule\",\n config: {\n eventBusName: core.eventBusName,\n roleArn: eventRole.output.arn,\n eventPattern: JSON.stringify({\n \"detail-type\": [\"WebinyBackgroundTask\"]\n })\n }\n });\n\n const eventTarget = app.addResource(aws.cloudwatch.EventTarget, {\n name: \"background-task-event-target\",\n config: {\n // This is going to get called.\n arn: stepFunction.output.arn,\n // This is the rule which determines if this target gets called.\n rule: eventRule.output.name,\n // This is the role which gets assumed when calling the target.\n roleArn: eventRole.output.arn,\n // This is the event bus name.\n eventBusName: core.eventBusName\n }\n });\n\n return {\n backgroundTask,\n stepFunction,\n stepFunctionRole,\n stepFunctionPolicy,\n eventPolicy,\n eventRolePolicyAttachment,\n eventTarget\n };\n }\n});\n"],"names":["ApiBackgroundTaskLambdaName","ApiBackgroundTask","createAppModule","app","awsAccountId","getAwsAccountId","awsRegion","getAwsRegion","core","CoreOutput","graphql","ApiGraphql","baseConfig","backgroundTask","aws","arns","Array","Set","getLayerArn","stepFunctionPolicy","createBackgroundTaskStepFunctionPolicy","stepFunctionRole","createBackgroundTaskStepFunctionRole","stepFunction","pulumi","createBackgroundTaskDefinition","policyToAccessStepFunction","arn","name","eventRole","eventPolicy","eventRolePolicyAttachment","eventRule","JSON","eventTarget"],"mappings":"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"}