@webiny/project-aws 6.3.0-beta.4 → 6.4.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/_templates/appTemplates/admin/src/index.tsx +0 -3
  2. package/abstractions/ApiGqlClient.js +2 -1
  3. package/abstractions/ApiGqlClient.js.map +1 -1
  4. package/abstractions/InvokeLambdaFunction.js +2 -1
  5. package/abstractions/InvokeLambdaFunction.js.map +1 -1
  6. package/abstractions/features/pulumi/AdminPulumi.js +2 -1
  7. package/abstractions/features/pulumi/AdminPulumi.js.map +1 -1
  8. package/abstractions/features/pulumi/ApiPulumi.js +2 -1
  9. package/abstractions/features/pulumi/ApiPulumi.js.map +1 -1
  10. package/abstractions/features/pulumi/CorePulumi.js +2 -1
  11. package/abstractions/features/pulumi/CorePulumi.js.map +1 -1
  12. package/abstractions/features/pulumi/index.js +0 -2
  13. package/abstractions/index.js +0 -2
  14. package/abstractions/services/AdminStackOutputService.js +2 -1
  15. package/abstractions/services/AdminStackOutputService.js.map +1 -1
  16. package/abstractions/services/ApiStackOutputService.js +2 -1
  17. package/abstractions/services/ApiStackOutputService.js.map +1 -1
  18. package/abstractions/services/CoreStackOutputService.js +2 -1
  19. package/abstractions/services/CoreStackOutputService.js.map +1 -1
  20. package/admin.js +5 -4
  21. package/admin.js.map +1 -1
  22. package/api.js +13 -12
  23. package/api.js.map +1 -1
  24. package/apps/createAdminApp.js +11 -12
  25. package/apps/createAdminApp.js.map +1 -1
  26. package/apps/createAdminAppConfig.js +12 -18
  27. package/apps/createAdminAppConfig.js.map +1 -1
  28. package/apps/createApiApp.js +17 -22
  29. package/apps/createApiApp.js.map +1 -1
  30. package/apps/createBlueGreenApp.js +13 -16
  31. package/apps/createBlueGreenApp.js.map +1 -1
  32. package/apps/createCoreApp.js +12 -13
  33. package/apps/createCoreApp.js.map +1 -1
  34. package/apps/createReactAppConfig.d.ts +0 -7
  35. package/apps/createReactAppConfig.js +56 -69
  36. package/apps/createReactAppConfig.js.map +1 -1
  37. package/apps/createSyncSystemApp.js +8 -7
  38. package/apps/createSyncSystemApp.js.map +1 -1
  39. package/apps/index.js +0 -2
  40. package/cli.js +3 -2
  41. package/cli.js.map +1 -1
  42. package/exports/extensions.js +0 -2
  43. package/exports/infra/admin.js +0 -2
  44. package/exports/infra/api.js +0 -2
  45. package/exports/infra/core.js +0 -2
  46. package/exports/infra.js +1 -3
  47. package/extensions/ApiLambdaFunction.js +45 -56
  48. package/extensions/ApiLambdaFunction.js.map +1 -1
  49. package/extensions/ApiRoute.js +90 -104
  50. package/extensions/ApiRoute.js.map +1 -1
  51. package/extensions/AwsDefaultRegion.js +17 -16
  52. package/extensions/AwsDefaultRegion.js.map +1 -1
  53. package/extensions/Cms/ModelFieldCompression.js +16 -15
  54. package/extensions/Cms/ModelFieldCompression.js.map +1 -1
  55. package/extensions/Encryption.js +30 -29
  56. package/extensions/Encryption.js.map +1 -1
  57. package/extensions/Mailer/Smtp.js +15 -14
  58. package/extensions/Mailer/Smtp.js.map +1 -1
  59. package/extensions/Mailer/Smtp.test.js +117 -131
  60. package/extensions/Mailer/Smtp.test.js.map +1 -1
  61. package/extensions/Mailer/SmtpParamsSchema.js +11 -14
  62. package/extensions/Mailer/SmtpParamsSchema.js.map +1 -1
  63. package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js +25 -30
  64. package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js.map +1 -1
  65. package/extensions/OpenSearch/EnsureOsWasDeployed.js +14 -24
  66. package/extensions/OpenSearch/EnsureOsWasDeployed.js.map +1 -1
  67. package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js +25 -21
  68. package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js.map +1 -1
  69. package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js +26 -22
  70. package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js.map +1 -1
  71. package/extensions/OpenSearch.js +30 -31
  72. package/extensions/OpenSearch.js.map +1 -1
  73. package/extensions/ProjectAws/AdminStackOutputService.js +0 -2
  74. package/extensions/ProjectAws/ApiStackOutputService.js +0 -2
  75. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js +65 -74
  76. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js.map +1 -1
  77. package/extensions/ProjectAws/AutoInstall.js +15 -14
  78. package/extensions/ProjectAws/AutoInstall.js.map +1 -1
  79. package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js +15 -19
  80. package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js.map +1 -1
  81. package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js +56 -45
  82. package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js.map +1 -1
  83. package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js +57 -55
  84. package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js.map +1 -1
  85. package/extensions/ProjectAws/BuildAppWorkspace.js +49 -54
  86. package/extensions/ProjectAws/BuildAppWorkspace.js.map +1 -1
  87. package/extensions/ProjectAws/CoreStackOutputService.js +0 -2
  88. package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js +26 -30
  89. package/extensions/ProjectAws/EnsureAwsCredentialsBeforeDeploy.js.map +1 -1
  90. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js +25 -38
  91. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js.map +1 -1
  92. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js +22 -17
  93. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js.map +1 -1
  94. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js +22 -17
  95. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js.map +1 -1
  96. package/extensions/ProjectAws/SetDatabaseSetupOutput.js +20 -21
  97. package/extensions/ProjectAws/SetDatabaseSetupOutput.js.map +1 -1
  98. package/extensions/ProjectAws/UploadAdminAppToS3.js +53 -58
  99. package/extensions/ProjectAws/UploadAdminAppToS3.js.map +1 -1
  100. package/extensions/ProjectAws/definitions.js +13 -6
  101. package/extensions/ProjectAws/definitions.js.map +1 -1
  102. package/extensions/ProjectAws.js +44 -45
  103. package/extensions/ProjectAws.js.map +1 -1
  104. package/extensions/RegisterRoutesPulumi.js +24 -29
  105. package/extensions/RegisterRoutesPulumi.js.map +1 -1
  106. package/extensions/definitions.js +10 -3
  107. package/extensions/definitions.js.map +1 -1
  108. package/extensions/index.js +0 -2
  109. package/features/ApiGqlClient.js +46 -51
  110. package/features/ApiGqlClient.js.map +1 -1
  111. package/features/InvokeLambdaFunction.js +30 -32
  112. package/features/InvokeLambdaFunction.js.map +1 -1
  113. package/features/index.js +0 -2
  114. package/index.js +0 -2
  115. package/infra.js +57 -59
  116. package/infra.js.map +1 -1
  117. package/package.json +14 -14
  118. package/project.js +7 -6
  119. package/project.js.map +1 -1
  120. package/pulumi/apps/admin/createAdminPulumiApp.js +36 -44
  121. package/pulumi/apps/admin/createAdminPulumiApp.js.map +1 -1
  122. package/pulumi/apps/admin/index.js +0 -2
  123. package/pulumi/apps/api/ApiBackgroundTask.js +153 -137
  124. package/pulumi/apps/api/ApiBackgroundTask.js.map +1 -1
  125. package/pulumi/apps/api/ApiCloudfront.js +188 -130
  126. package/pulumi/apps/api/ApiCloudfront.js.map +1 -1
  127. package/pulumi/apps/api/ApiFileManager.js +34 -33
  128. package/pulumi/apps/api/ApiFileManager.js.map +1 -1
  129. package/pulumi/apps/api/ApiGateway.js +67 -74
  130. package/pulumi/apps/api/ApiGateway.js.map +1 -1
  131. package/pulumi/apps/api/ApiGraphql.js +223 -152
  132. package/pulumi/apps/api/ApiGraphql.js.map +1 -1
  133. package/pulumi/apps/api/ApiOutput.js +29 -30
  134. package/pulumi/apps/api/ApiOutput.js.map +1 -1
  135. package/pulumi/apps/api/ApiScheduler.js +94 -92
  136. package/pulumi/apps/api/ApiScheduler.js.map +1 -1
  137. package/pulumi/apps/api/ApiWebsocket.js +141 -133
  138. package/pulumi/apps/api/ApiWebsocket.js.map +1 -1
  139. package/pulumi/apps/api/backgroundTask/definition.js +122 -144
  140. package/pulumi/apps/api/backgroundTask/definition.js.map +1 -1
  141. package/pulumi/apps/api/backgroundTask/policy.js +37 -23
  142. package/pulumi/apps/api/backgroundTask/policy.js.map +1 -1
  143. package/pulumi/apps/api/backgroundTask/role.js +29 -29
  144. package/pulumi/apps/api/backgroundTask/role.js.map +1 -1
  145. package/pulumi/apps/api/backgroundTask/types.js +9 -11
  146. package/pulumi/apps/api/backgroundTask/types.js.map +1 -1
  147. package/pulumi/apps/api/createApiPulumiApp.js +206 -274
  148. package/pulumi/apps/api/createApiPulumiApp.js.map +1 -1
  149. package/pulumi/apps/api/handleGuardDutyEvents.js +54 -51
  150. package/pulumi/apps/api/handleGuardDutyEvents.js.map +1 -1
  151. package/pulumi/apps/api/index.js +0 -2
  152. package/pulumi/apps/awsUtils.js +21 -24
  153. package/pulumi/apps/awsUtils.js.map +1 -1
  154. package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js +37 -40
  155. package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js.map +1 -1
  156. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js +83 -91
  157. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js.map +1 -1
  158. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js +17 -16
  159. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js.map +1 -1
  160. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js +13 -12
  161. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js.map +1 -1
  162. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js +9 -14
  163. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js.map +1 -1
  164. package/pulumi/apps/blueGreen/cloudfront/createOriginId.js +5 -7
  165. package/pulumi/apps/blueGreen/cloudfront/createOriginId.js.map +1 -1
  166. package/pulumi/apps/blueGreen/constants.js +15 -3
  167. package/pulumi/apps/blueGreen/constants.js.map +1 -1
  168. package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js +77 -103
  169. package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js.map +1 -1
  170. package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js +20 -26
  171. package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js.map +1 -1
  172. package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js +17 -20
  173. package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js.map +1 -1
  174. package/pulumi/apps/blueGreen/domains/getApplicationDomains.js +51 -61
  175. package/pulumi/apps/blueGreen/domains/getApplicationDomains.js.map +1 -1
  176. package/pulumi/apps/blueGreen/domains/resolveDomains.js +24 -38
  177. package/pulumi/apps/blueGreen/domains/resolveDomains.js.map +1 -1
  178. package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js +7 -14
  179. package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js.map +1 -1
  180. package/pulumi/apps/blueGreen/functions/handler.js +1 -57
  181. package/pulumi/apps/blueGreen/functions/handler.js.map +1 -1
  182. package/pulumi/apps/blueGreen/types.js +0 -3
  183. package/pulumi/apps/blueGreen/validation/validateDeployments.js +19 -24
  184. package/pulumi/apps/blueGreen/validation/validateDeployments.js.map +1 -1
  185. package/pulumi/apps/common/CoreOutput.js +34 -37
  186. package/pulumi/apps/common/CoreOutput.js.map +1 -1
  187. package/pulumi/apps/common/VpcConfig.js +20 -20
  188. package/pulumi/apps/common/VpcConfig.js.map +1 -1
  189. package/pulumi/apps/common/index.js +0 -2
  190. package/pulumi/apps/core/CoreAuditLogsDynamo.js +245 -182
  191. package/pulumi/apps/core/CoreAuditLogsDynamo.js.map +1 -1
  192. package/pulumi/apps/core/CoreCognito.js +117 -106
  193. package/pulumi/apps/core/CoreCognito.js.map +1 -1
  194. package/pulumi/apps/core/CoreDynamo.js +91 -70
  195. package/pulumi/apps/core/CoreDynamo.js.map +1 -1
  196. package/pulumi/apps/core/CoreEventBus.js +10 -9
  197. package/pulumi/apps/core/CoreEventBus.js.map +1 -1
  198. package/pulumi/apps/core/CoreFileManager.js +76 -68
  199. package/pulumi/apps/core/CoreFileManager.js.map +1 -1
  200. package/pulumi/apps/core/CoreOpenSearch.js +281 -305
  201. package/pulumi/apps/core/CoreOpenSearch.js.map +1 -1
  202. package/pulumi/apps/core/CoreVpc.js +155 -156
  203. package/pulumi/apps/core/CoreVpc.js.map +1 -1
  204. package/pulumi/apps/core/WatchCommand.js +94 -96
  205. package/pulumi/apps/core/WatchCommand.js.map +1 -1
  206. package/pulumi/apps/core/cognitoIdentityProviders/amazon.js +16 -22
  207. package/pulumi/apps/core/cognitoIdentityProviders/amazon.js.map +1 -1
  208. package/pulumi/apps/core/cognitoIdentityProviders/apple.js +16 -17
  209. package/pulumi/apps/core/cognitoIdentityProviders/apple.js.map +1 -1
  210. package/pulumi/apps/core/cognitoIdentityProviders/configure.js +44 -50
  211. package/pulumi/apps/core/cognitoIdentityProviders/configure.js.map +1 -1
  212. package/pulumi/apps/core/cognitoIdentityProviders/facebook.js +16 -17
  213. package/pulumi/apps/core/cognitoIdentityProviders/facebook.js.map +1 -1
  214. package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js +7 -8
  215. package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js.map +1 -1
  216. package/pulumi/apps/core/cognitoIdentityProviders/google.js +16 -17
  217. package/pulumi/apps/core/cognitoIdentityProviders/google.js.map +1 -1
  218. package/pulumi/apps/core/cognitoIdentityProviders/index.js +0 -2
  219. package/pulumi/apps/core/cognitoIdentityProviders/oidc.js +17 -18
  220. package/pulumi/apps/core/cognitoIdentityProviders/oidc.js.map +1 -1
  221. package/pulumi/apps/core/configureS3BucketMalwareProtection.js +251 -188
  222. package/pulumi/apps/core/configureS3BucketMalwareProtection.js.map +1 -1
  223. package/pulumi/apps/core/createCorePulumiApp.js +212 -280
  224. package/pulumi/apps/core/createCorePulumiApp.js.map +1 -1
  225. package/pulumi/apps/core/index.js +0 -2
  226. package/pulumi/apps/core/webinyWatchCommand/handler.js +45 -32
  227. package/pulumi/apps/core/webinyWatchCommand/handler.js.map +1 -1
  228. package/pulumi/apps/createAppBucket.js +157 -146
  229. package/pulumi/apps/createAppBucket.js.map +1 -1
  230. package/pulumi/apps/customDomain.js +7 -6
  231. package/pulumi/apps/customDomain.js.map +1 -1
  232. package/pulumi/apps/extensions/getAwsTagsFromExtension.js +8 -7
  233. package/pulumi/apps/extensions/getAwsTagsFromExtension.js.map +1 -1
  234. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js +6 -7
  235. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js.map +1 -1
  236. package/pulumi/apps/extensions/getOsConfigFromExtension.js +17 -41
  237. package/pulumi/apps/extensions/getOsConfigFromExtension.js.map +1 -1
  238. package/pulumi/apps/extensions/getVpcConfigFromExtension.js +13 -25
  239. package/pulumi/apps/extensions/getVpcConfigFromExtension.js.map +1 -1
  240. package/pulumi/apps/index.js +0 -3
  241. package/pulumi/apps/lambdaUtils.js +57 -61
  242. package/pulumi/apps/lambdaUtils.js.map +1 -1
  243. package/pulumi/apps/react/createReactPulumiApp.js +108 -129
  244. package/pulumi/apps/react/createReactPulumiApp.js.map +1 -1
  245. package/pulumi/apps/react/index.js +0 -2
  246. package/pulumi/apps/syncSystem/SyncSystemDynamo.js +77 -62
  247. package/pulumi/apps/syncSystem/SyncSystemDynamo.js.map +1 -1
  248. package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js +74 -57
  249. package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js.map +1 -1
  250. package/pulumi/apps/syncSystem/SyncSystemEventBus.js +77 -71
  251. package/pulumi/apps/syncSystem/SyncSystemEventBus.js.map +1 -1
  252. package/pulumi/apps/syncSystem/SyncSystemLambda.js +154 -86
  253. package/pulumi/apps/syncSystem/SyncSystemLambda.js.map +1 -1
  254. package/pulumi/apps/syncSystem/SyncSystemOutput.js +14 -13
  255. package/pulumi/apps/syncSystem/SyncSystemOutput.js.map +1 -1
  256. package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js +56 -60
  257. package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js.map +1 -1
  258. package/pulumi/apps/syncSystem/SyncSystemSQS.js +25 -49
  259. package/pulumi/apps/syncSystem/SyncSystemSQS.js.map +1 -1
  260. package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js +44 -43
  261. package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js.map +1 -1
  262. package/pulumi/apps/syncSystem/addTableItems.js +35 -45
  263. package/pulumi/apps/syncSystem/addTableItems.js.map +1 -1
  264. package/pulumi/apps/syncSystem/api/addServiceManifest.js +12 -14
  265. package/pulumi/apps/syncSystem/api/addServiceManifest.js.map +1 -1
  266. package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js +49 -55
  267. package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js.map +1 -1
  268. package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js +88 -40
  269. package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js.map +1 -1
  270. package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js +37 -43
  271. package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js.map +1 -1
  272. package/pulumi/apps/syncSystem/api/attachS3Permissions.js +51 -47
  273. package/pulumi/apps/syncSystem/api/attachS3Permissions.js.map +1 -1
  274. package/pulumi/apps/syncSystem/api/index.js +28 -46
  275. package/pulumi/apps/syncSystem/api/index.js.map +1 -1
  276. package/pulumi/apps/syncSystem/constants.js +2 -1
  277. package/pulumi/apps/syncSystem/constants.js.map +1 -1
  278. package/pulumi/apps/syncSystem/createSyncResourceName.js +2 -7
  279. package/pulumi/apps/syncSystem/createSyncResourceName.js.map +1 -1
  280. package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js +101 -166
  281. package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js.map +1 -1
  282. package/pulumi/apps/syncSystem/customApp.js +12 -16
  283. package/pulumi/apps/syncSystem/customApp.js.map +1 -1
  284. package/pulumi/apps/syncSystem/getSyncSystemOutput.js +5 -6
  285. package/pulumi/apps/syncSystem/getSyncSystemOutput.js.map +1 -1
  286. package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js +108 -42
  287. package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js.map +1 -1
  288. package/pulumi/apps/syncSystem/types.js +0 -3
  289. package/pulumi/constants.js +2 -1
  290. package/pulumi/constants.js.map +1 -1
  291. package/pulumi/env/awsRegion.js +3 -2
  292. package/pulumi/env/awsRegion.js.map +1 -1
  293. package/pulumi/env/base.js +11 -27
  294. package/pulumi/env/base.js.map +1 -1
  295. package/pulumi/env/env.js +3 -2
  296. package/pulumi/env/env.js.map +1 -1
  297. package/pulumi/env/projectName.js +3 -2
  298. package/pulumi/env/projectName.js.map +1 -1
  299. package/pulumi/env/variant.js +4 -3
  300. package/pulumi/env/variant.js.map +1 -1
  301. package/pulumi/extensions/AdminCustomDomains.js +15 -11
  302. package/pulumi/extensions/AdminCustomDomains.js.map +1 -1
  303. package/pulumi/extensions/AdminPulumi.js +16 -19
  304. package/pulumi/extensions/AdminPulumi.js.map +1 -1
  305. package/pulumi/extensions/ApiCustomDomains.js +15 -11
  306. package/pulumi/extensions/ApiCustomDomains.js.map +1 -1
  307. package/pulumi/extensions/ApiPulumi.js +16 -19
  308. package/pulumi/extensions/ApiPulumi.js.map +1 -1
  309. package/pulumi/extensions/AwsTags.js +11 -10
  310. package/pulumi/extensions/AwsTags.js.map +1 -1
  311. package/pulumi/extensions/BlueGreenDeployments.js +29 -26
  312. package/pulumi/extensions/BlueGreenDeployments.js.map +1 -1
  313. package/pulumi/extensions/CorePulumi.js +16 -19
  314. package/pulumi/extensions/CorePulumi.js.map +1 -1
  315. package/pulumi/extensions/OpenSearch.js +16 -15
  316. package/pulumi/extensions/OpenSearch.js.map +1 -1
  317. package/pulumi/extensions/Vpc.js +21 -20
  318. package/pulumi/extensions/Vpc.js.map +1 -1
  319. package/pulumi/extensions/index.js +12 -10
  320. package/pulumi/extensions/index.js.map +1 -1
  321. package/pulumi/features/AdminPulumi/AdminPulumi.js +18 -14
  322. package/pulumi/features/AdminPulumi/AdminPulumi.js.map +1 -1
  323. package/pulumi/features/AdminPulumi/index.js +0 -2
  324. package/pulumi/features/ApiPulumi/ApiPulumi.js +18 -14
  325. package/pulumi/features/ApiPulumi/ApiPulumi.js.map +1 -1
  326. package/pulumi/features/ApiPulumi/index.js +0 -2
  327. package/pulumi/features/CorePulumi/CorePulumi.js +18 -14
  328. package/pulumi/features/CorePulumi/CorePulumi.js.map +1 -1
  329. package/pulumi/features/CorePulumi/index.js +0 -2
  330. package/pulumi/features/index.js +0 -2
  331. package/pulumi/index.js +0 -2
  332. package/pulumi/types.js +0 -3
  333. package/pulumi/utils/addDomainsUrlsOutputs.js +20 -37
  334. package/pulumi/utils/addDomainsUrlsOutputs.js.map +1 -1
  335. package/pulumi/utils/addServiceManifestTableItem.js +12 -15
  336. package/pulumi/utils/addServiceManifestTableItem.js.map +1 -1
  337. package/pulumi/utils/crawlDirectory.js +10 -15
  338. package/pulumi/utils/crawlDirectory.js.map +1 -1
  339. package/pulumi/utils/createAssetArchive.js +5 -6
  340. package/pulumi/utils/createAssetArchive.js.map +1 -1
  341. package/pulumi/utils/dynamodb.js +26 -27
  342. package/pulumi/utils/dynamodb.js.map +1 -1
  343. package/pulumi/utils/getPresignedPost.js +27 -30
  344. package/pulumi/utils/getPresignedPost.js.map +1 -1
  345. package/pulumi/utils/index.js +1 -3
  346. package/pulumi/utils/lambdaEnvVariables.js +42 -54
  347. package/pulumi/utils/lambdaEnvVariables.js.map +1 -1
  348. package/pulumi/utils/tagResources.js +248 -28
  349. package/pulumi/utils/tagResources.js.map +1 -1
  350. package/pulumi/utils/uploadFolderToS3.js +101 -131
  351. package/pulumi/utils/uploadFolderToS3.js.map +1 -1
  352. package/pulumi/utils/withServiceManifest.js +28 -37
  353. package/pulumi/utils/withServiceManifest.js.map +1 -1
  354. package/services/AdminStackOutputService.js +14 -11
  355. package/services/AdminStackOutputService.js.map +1 -1
  356. package/services/ApiStackOutputService.js +14 -11
  357. package/services/ApiStackOutputService.js.map +1 -1
  358. package/services/CoreStackOutputService.js +14 -11
  359. package/services/CoreStackOutputService.js.map +1 -1
  360. package/utils/getTemplatesFolderPath.js +8 -10
  361. package/utils/getTemplatesFolderPath.js.map +1 -1
  362. package/utils/index.js +0 -2
  363. package/abstractions/features/pulumi/index.js.map +0 -1
  364. package/abstractions/index.js.map +0 -1
  365. package/apps/index.js.map +0 -1
  366. package/exports/extensions.js.map +0 -1
  367. package/exports/infra/admin.js.map +0 -1
  368. package/exports/infra/api.js.map +0 -1
  369. package/exports/infra/core.js.map +0 -1
  370. package/exports/infra.js.map +0 -1
  371. package/extensions/ProjectAws/AdminStackOutputService.js.map +0 -1
  372. package/extensions/ProjectAws/ApiStackOutputService.js.map +0 -1
  373. package/extensions/ProjectAws/CoreStackOutputService.js.map +0 -1
  374. package/extensions/index.js.map +0 -1
  375. package/features/index.js.map +0 -1
  376. package/index.js.map +0 -1
  377. package/pulumi/apps/admin/index.js.map +0 -1
  378. package/pulumi/apps/api/index.js.map +0 -1
  379. package/pulumi/apps/blueGreen/types.js.map +0 -1
  380. package/pulumi/apps/common/index.js.map +0 -1
  381. package/pulumi/apps/core/cognitoIdentityProviders/index.js.map +0 -1
  382. package/pulumi/apps/core/index.js.map +0 -1
  383. package/pulumi/apps/index.js.map +0 -1
  384. package/pulumi/apps/react/index.js.map +0 -1
  385. package/pulumi/apps/syncSystem/types.js.map +0 -1
  386. package/pulumi/features/AdminPulumi/index.js.map +0 -1
  387. package/pulumi/features/ApiPulumi/index.js.map +0 -1
  388. package/pulumi/features/CorePulumi/index.js.map +0 -1
  389. package/pulumi/features/index.js.map +0 -1
  390. package/pulumi/index.js.map +0 -1
  391. package/pulumi/types.js.map +0 -1
  392. package/pulumi/utils/index.js.map +0 -1
  393. package/utils/index.js.map +0 -1
@@ -1,73 +1,63 @@
1
1
  import { getStackOutput } from "@webiny/project";
2
- const apps = ["api", "admin"];
3
- const removeProtocol = url => {
4
- return url.replace(/^https?:\/\//, "");
2
+ const apps = [
3
+ "api",
4
+ "admin"
5
+ ];
6
+ const removeProtocol = (url)=>url.replace(/^https?:\/\//, "");
7
+ const getApiDomainName = (results, name)=>{
8
+ const api = results.find((r)=>r.name === name && "api" === r.app);
9
+ if (!api?.stack?.apiDomain) throw new Error(`Missing API stack for "${name}" deployment.`);
10
+ return removeProtocol(api.stack.apiDomain);
5
11
  };
6
- const getApiDomainName = (results, name) => {
7
- const api = results.find(r => r.name === name && r.app === "api");
8
- if (!api?.stack?.apiDomain) {
9
- throw new Error(`Missing API stack for "${name}" deployment.`);
10
- }
11
- return removeProtocol(api.stack.apiDomain);
12
+ const getAdminDomainName = (results, name)=>{
13
+ const admin = results.find((r)=>r.name === name && "admin" === r.app);
14
+ if (!admin?.stack?.appDomain) throw new Error(`Missing Admin stack for "${name}" deployment.`);
15
+ return removeProtocol(admin.stack.appDomain);
12
16
  };
13
- const getAdminDomainName = (results, name) => {
14
- const admin = results.find(r => r.name === name && r.app === "admin");
15
- if (!admin?.stack?.appDomain) {
16
- throw new Error(`Missing Admin stack for "${name}" deployment.`);
17
- }
18
- return removeProtocol(admin.stack.appDomain);
17
+ const getEnv = (results, name)=>{
18
+ const env = results.find((r)=>r.name === name);
19
+ if (!env) throw new Error(`Missing environment for "${name}" deployment.`);
20
+ return env.env;
19
21
  };
20
- const getEnv = (results, name) => {
21
- const env = results.find(r => r.name === name);
22
- if (!env) {
23
- throw new Error(`Missing environment for "${name}" deployment.`);
24
- }
25
- return env.env;
22
+ const getVariant = (results, name)=>{
23
+ const variant = results.find((r)=>r.name === name);
24
+ if (!variant) throw new Error(`Missing variant for "${name}" deployment.`);
25
+ return variant.variant;
26
26
  };
27
- const getVariant = (results, name) => {
28
- const variant = results.find(r => r.name === name);
29
- if (!variant) {
30
- throw new Error(`Missing variant for "${name}" deployment.`);
31
- }
32
- return variant.variant;
33
- };
34
- export const getApplicationDomains = async params => {
35
- const promises = [];
36
- for (const stack of params.stacks) {
37
- for (const app of apps) {
38
- promises.push(new Promise(async resolve => {
27
+ const getApplicationDomains = async (params)=>{
28
+ const promises = [];
29
+ for (const stack of params.stacks)for (const app of apps)promises.push(new Promise(async (resolve)=>{
39
30
  const result = await getStackOutput(app);
40
31
  resolve({
41
- env: stack.env,
42
- variant: stack.variant,
43
- name: stack.name,
44
- app,
45
- stack: result
32
+ env: stack.env,
33
+ variant: stack.variant,
34
+ name: stack.name,
35
+ app,
36
+ stack: result
46
37
  });
47
- }));
48
- }
49
- }
50
- const results = await Promise.all(promises);
51
- const deployments = {};
52
- const names = params.stacks.map(s => s.name);
53
- try {
54
- for (const name of names) {
55
- const env = getEnv(results, name);
56
- const variant = getVariant(results, name);
57
- const api = getApiDomainName(results, name);
58
- const admin = getAdminDomainName(results, name);
59
- deployments[name] = {
60
- env,
61
- variant,
62
- api,
63
- admin
64
- };
38
+ }));
39
+ const results = await Promise.all(promises);
40
+ const deployments = {};
41
+ const names = params.stacks.map((s)=>s.name);
42
+ try {
43
+ for (const name of names){
44
+ const env = getEnv(results, name);
45
+ const variant = getVariant(results, name);
46
+ const api = getApiDomainName(results, name);
47
+ const admin = getAdminDomainName(results, name);
48
+ deployments[name] = {
49
+ env,
50
+ variant,
51
+ api,
52
+ admin
53
+ };
54
+ }
55
+ return deployments;
56
+ } catch (ex) {
57
+ console.error(ex.message);
58
+ throw ex;
65
59
  }
66
- return deployments;
67
- } catch (ex) {
68
- console.error(ex.message);
69
- throw ex;
70
- }
71
60
  };
61
+ export { getApplicationDomains };
72
62
 
73
63
  //# sourceMappingURL=getApplicationDomains.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getStackOutput","apps","removeProtocol","url","replace","getApiDomainName","results","name","api","find","r","app","stack","apiDomain","Error","getAdminDomainName","admin","appDomain","getEnv","env","getVariant","variant","getApplicationDomains","params","promises","stacks","push","Promise","resolve","result","all","deployments","names","map","s","ex","console","error","message"],"sources":["getApplicationDomains.ts"],"sourcesContent":["import { type AppName, getStackOutput } from \"@webiny/project\";\nimport { type IDefaultStackOutput } from \"~/pulumi/types.js\";\n\nexport interface IGetStacksStack {\n name: string;\n env: string;\n variant: string | undefined;\n}\n\nexport interface IGetApplicationStacks {\n stacks: IGetStacksStack[];\n}\n\nconst apps: AppName[] = [\"api\", \"admin\"];\n\ninterface IPromiseResult {\n app: string;\n env: string;\n variant: string | undefined;\n name: string;\n stack: IDefaultStackOutput;\n}\n\nexport interface IGetApplicationStacksResultStack {\n env: string;\n variant: string | undefined;\n api: string;\n admin: string;\n}\n\nexport interface IGetApplicationStacksResult {\n [name: string]: IGetApplicationStacksResultStack;\n}\n\nconst removeProtocol = (url: string): string => {\n return url.replace(/^https?:\\/\\//, \"\");\n};\n\nconst getApiDomainName = (results: IPromiseResult[], name: string): string => {\n const api = results.find(r => r.name === name && r.app === \"api\");\n if (!api?.stack?.apiDomain) {\n throw new Error(`Missing API stack for \"${name}\" deployment.`);\n }\n return removeProtocol(api.stack.apiDomain);\n};\n\nconst getAdminDomainName = (results: IPromiseResult[], name: string): string => {\n const admin = results.find(r => r.name === name && r.app === \"admin\");\n if (!admin?.stack?.appDomain) {\n throw new Error(`Missing Admin stack for \"${name}\" deployment.`);\n }\n return removeProtocol(admin.stack.appDomain);\n};\n\nconst getEnv = (results: IPromiseResult[], name: string): string => {\n const env = results.find(r => r.name === name);\n if (!env) {\n throw new Error(`Missing environment for \"${name}\" deployment.`);\n }\n return env.env;\n};\n\nconst getVariant = (results: IPromiseResult[], name: string): string | undefined => {\n const variant = results.find(r => r.name === name);\n if (!variant) {\n throw new Error(`Missing variant for \"${name}\" deployment.`);\n }\n return variant.variant;\n};\n\nexport const getApplicationDomains = async (\n params: IGetApplicationStacks\n): Promise<IGetApplicationStacksResult> => {\n const promises: Promise<IPromiseResult>[] = [];\n\n for (const stack of params.stacks) {\n for (const app of apps) {\n promises.push(\n new Promise<IPromiseResult>(async resolve => {\n const result = await getStackOutput<IDefaultStackOutput>(app);\n\n resolve({\n env: stack.env,\n variant: stack.variant,\n name: stack.name,\n app,\n stack: result!\n });\n })\n );\n }\n }\n const results = await Promise.all(promises);\n const deployments: IGetApplicationStacksResult = {};\n const names = params.stacks.map(s => s.name);\n try {\n for (const name of names) {\n const env = getEnv(results, name);\n const variant = getVariant(results, name);\n const api = getApiDomainName(results, name);\n const admin = getAdminDomainName(results, name);\n\n deployments[name] = {\n env,\n variant,\n api,\n admin\n };\n }\n return deployments;\n } catch (ex) {\n console.error(ex.message);\n throw ex;\n }\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/domains/getApplicationDomains.js","sources":["../../../../../src/pulumi/apps/blueGreen/domains/getApplicationDomains.ts"],"sourcesContent":["import { type AppName, getStackOutput } from \"@webiny/project\";\nimport { type IDefaultStackOutput } from \"~/pulumi/types.js\";\n\nexport interface IGetStacksStack {\n name: string;\n env: string;\n variant: string | undefined;\n}\n\nexport interface IGetApplicationStacks {\n stacks: IGetStacksStack[];\n}\n\nconst apps: AppName[] = [\"api\", \"admin\"];\n\ninterface IPromiseResult {\n app: string;\n env: string;\n variant: string | undefined;\n name: string;\n stack: IDefaultStackOutput;\n}\n\nexport interface IGetApplicationStacksResultStack {\n env: string;\n variant: string | undefined;\n api: string;\n admin: string;\n}\n\nexport interface IGetApplicationStacksResult {\n [name: string]: IGetApplicationStacksResultStack;\n}\n\nconst removeProtocol = (url: string): string => {\n return url.replace(/^https?:\\/\\//, \"\");\n};\n\nconst getApiDomainName = (results: IPromiseResult[], name: string): string => {\n const api = results.find(r => r.name === name && r.app === \"api\");\n if (!api?.stack?.apiDomain) {\n throw new Error(`Missing API stack for \"${name}\" deployment.`);\n }\n return removeProtocol(api.stack.apiDomain);\n};\n\nconst getAdminDomainName = (results: IPromiseResult[], name: string): string => {\n const admin = results.find(r => r.name === name && r.app === \"admin\");\n if (!admin?.stack?.appDomain) {\n throw new Error(`Missing Admin stack for \"${name}\" deployment.`);\n }\n return removeProtocol(admin.stack.appDomain);\n};\n\nconst getEnv = (results: IPromiseResult[], name: string): string => {\n const env = results.find(r => r.name === name);\n if (!env) {\n throw new Error(`Missing environment for \"${name}\" deployment.`);\n }\n return env.env;\n};\n\nconst getVariant = (results: IPromiseResult[], name: string): string | undefined => {\n const variant = results.find(r => r.name === name);\n if (!variant) {\n throw new Error(`Missing variant for \"${name}\" deployment.`);\n }\n return variant.variant;\n};\n\nexport const getApplicationDomains = async (\n params: IGetApplicationStacks\n): Promise<IGetApplicationStacksResult> => {\n const promises: Promise<IPromiseResult>[] = [];\n\n for (const stack of params.stacks) {\n for (const app of apps) {\n promises.push(\n new Promise<IPromiseResult>(async resolve => {\n const result = await getStackOutput<IDefaultStackOutput>(app);\n\n resolve({\n env: stack.env,\n variant: stack.variant,\n name: stack.name,\n app,\n stack: result!\n });\n })\n );\n }\n }\n const results = await Promise.all(promises);\n const deployments: IGetApplicationStacksResult = {};\n const names = params.stacks.map(s => s.name);\n try {\n for (const name of names) {\n const env = getEnv(results, name);\n const variant = getVariant(results, name);\n const api = getApiDomainName(results, name);\n const admin = getAdminDomainName(results, name);\n\n deployments[name] = {\n env,\n variant,\n api,\n admin\n };\n }\n return deployments;\n } catch (ex) {\n console.error(ex.message);\n throw ex;\n }\n};\n"],"names":["apps","removeProtocol","url","getApiDomainName","results","name","api","r","Error","getAdminDomainName","admin","getEnv","env","getVariant","variant","getApplicationDomains","params","promises","stack","app","Promise","resolve","result","getStackOutput","deployments","names","s","ex","console"],"mappings":";AAaA,MAAMA,OAAkB;IAAC;IAAO;CAAQ;AAqBxC,MAAMC,iBAAiB,CAACC,MACbA,IAAI,OAAO,CAAC,gBAAgB;AAGvC,MAAMC,mBAAmB,CAACC,SAA2BC;IACjD,MAAMC,MAAMF,QAAQ,IAAI,CAACG,CAAAA,IAAKA,EAAE,IAAI,KAAKF,QAAQE,AAAU,UAAVA,EAAE,GAAG;IACtD,IAAI,CAACD,KAAK,OAAO,WACb,MAAM,IAAIE,MAAM,CAAC,uBAAuB,EAAEH,KAAK,aAAa,CAAC;IAEjE,OAAOJ,eAAeK,IAAI,KAAK,CAAC,SAAS;AAC7C;AAEA,MAAMG,qBAAqB,CAACL,SAA2BC;IACnD,MAAMK,QAAQN,QAAQ,IAAI,CAACG,CAAAA,IAAKA,EAAE,IAAI,KAAKF,QAAQE,AAAU,YAAVA,EAAE,GAAG;IACxD,IAAI,CAACG,OAAO,OAAO,WACf,MAAM,IAAIF,MAAM,CAAC,yBAAyB,EAAEH,KAAK,aAAa,CAAC;IAEnE,OAAOJ,eAAeS,MAAM,KAAK,CAAC,SAAS;AAC/C;AAEA,MAAMC,SAAS,CAACP,SAA2BC;IACvC,MAAMO,MAAMR,QAAQ,IAAI,CAACG,CAAAA,IAAKA,EAAE,IAAI,KAAKF;IACzC,IAAI,CAACO,KACD,MAAM,IAAIJ,MAAM,CAAC,yBAAyB,EAAEH,KAAK,aAAa,CAAC;IAEnE,OAAOO,IAAI,GAAG;AAClB;AAEA,MAAMC,aAAa,CAACT,SAA2BC;IAC3C,MAAMS,UAAUV,QAAQ,IAAI,CAACG,CAAAA,IAAKA,EAAE,IAAI,KAAKF;IAC7C,IAAI,CAACS,SACD,MAAM,IAAIN,MAAM,CAAC,qBAAqB,EAAEH,KAAK,aAAa,CAAC;IAE/D,OAAOS,QAAQ,OAAO;AAC1B;AAEO,MAAMC,wBAAwB,OACjCC;IAEA,MAAMC,WAAsC,EAAE;IAE9C,KAAK,MAAMC,SAASF,OAAO,MAAM,CAC7B,KAAK,MAAMG,OAAOnB,KACdiB,SAAS,IAAI,CACT,IAAIG,QAAwB,OAAMC;QAC9B,MAAMC,SAAS,MAAMC,eAAoCJ;QAEzDE,QAAQ;YACJ,KAAKH,MAAM,GAAG;YACd,SAASA,MAAM,OAAO;YACtB,MAAMA,MAAM,IAAI;YAChBC;YACA,OAAOG;QACX;IACJ;IAIZ,MAAMlB,UAAU,MAAMgB,QAAQ,GAAG,CAACH;IAClC,MAAMO,cAA2C,CAAC;IAClD,MAAMC,QAAQT,OAAO,MAAM,CAAC,GAAG,CAACU,CAAAA,IAAKA,EAAE,IAAI;IAC3C,IAAI;QACA,KAAK,MAAMrB,QAAQoB,MAAO;YACtB,MAAMb,MAAMD,OAAOP,SAASC;YAC5B,MAAMS,UAAUD,WAAWT,SAASC;YACpC,MAAMC,MAAMH,iBAAiBC,SAASC;YACtC,MAAMK,QAAQD,mBAAmBL,SAASC;YAE1CmB,WAAW,CAACnB,KAAK,GAAG;gBAChBO;gBACAE;gBACAR;gBACAI;YACJ;QACJ;QACA,OAAOc;IACX,EAAE,OAAOG,IAAI;QACTC,QAAQ,KAAK,CAACD,GAAG,OAAO;QACxB,MAAMA;IACV;AACJ"}
@@ -1,41 +1,27 @@
1
- export const resolveDomains = params => {
2
- const {
3
- attachedDomains,
4
- deploymentsDomains
5
- } = params;
6
- const domains = attachedDomains.domains;
7
- if (!domains) {
8
- return [];
9
- }
10
- const types = Object.keys(domains).filter(key => {
11
- return !!domains[key];
12
- });
13
- return types.reduce((output, type) => {
14
- const value = domains[type];
15
- /**
16
- * Should not happen because we are filtering out undefined values when creating the `types` array.
17
- */
18
- if (!value) {
19
- return output;
20
- } else if (value.length === 0) {
21
- throw new Error(`Missing domains for "${type}" deployment.`);
22
- }
23
- for (const domain of deploymentsDomains) {
24
- const target = domain.domains[type];
25
- if (!target) {
26
- throw new Error(`Missing "${type}" domain in deployment "${domain.name}".`);
27
- }
28
- output.push({
29
- type,
30
- env: domain.env,
31
- variant: domain.variant,
32
- name: domain.name,
33
- sources: value,
34
- target
35
- });
36
- }
37
- return output;
38
- }, []);
1
+ const resolveDomains = (params)=>{
2
+ const { attachedDomains, deploymentsDomains } = params;
3
+ const domains = attachedDomains.domains;
4
+ if (!domains) return [];
5
+ const types = Object.keys(domains).filter((key)=>!!domains[key]);
6
+ return types.reduce((output, type)=>{
7
+ const value = domains[type];
8
+ if (!value) return output;
9
+ if (0 === value.length) throw new Error(`Missing domains for "${type}" deployment.`);
10
+ for (const domain of deploymentsDomains){
11
+ const target = domain.domains[type];
12
+ if (!target) throw new Error(`Missing "${type}" domain in deployment "${domain.name}".`);
13
+ output.push({
14
+ type,
15
+ env: domain.env,
16
+ variant: domain.variant,
17
+ name: domain.name,
18
+ sources: value,
19
+ target
20
+ });
21
+ }
22
+ return output;
23
+ }, []);
39
24
  };
25
+ export { resolveDomains };
40
26
 
41
27
  //# sourceMappingURL=resolveDomains.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["resolveDomains","params","attachedDomains","deploymentsDomains","domains","types","Object","keys","filter","key","reduce","output","type","value","length","Error","domain","target","name","push","env","variant","sources"],"sources":["resolveDomains.ts"],"sourcesContent":["import type {\n IAttachedDomainKey,\n IAttachedDomains,\n IDeploymentsDomains,\n IResolvedDomains\n} from \"../types.js\";\n\nexport interface IResolveDomainsParams {\n attachedDomains: IAttachedDomains;\n deploymentsDomains: IDeploymentsDomains;\n}\n\nexport const resolveDomains = (params: IResolveDomainsParams): IResolvedDomains => {\n const { attachedDomains, deploymentsDomains } = params;\n\n const domains = attachedDomains.domains;\n\n if (!domains) {\n return [];\n }\n const types = Object.keys(domains).filter(key => {\n return !!domains[key as IAttachedDomainKey];\n }) as IAttachedDomainKey[];\n\n return types.reduce<IResolvedDomains>((output, type) => {\n const value = domains[type];\n /**\n * Should not happen because we are filtering out undefined values when creating the `types` array.\n */\n if (!value) {\n return output;\n } else if (value.length === 0) {\n throw new Error(`Missing domains for \"${type}\" deployment.`);\n }\n for (const domain of deploymentsDomains) {\n const target = domain.domains[type];\n if (!target) {\n throw new Error(`Missing \"${type}\" domain in deployment \"${domain.name}\".`);\n }\n\n output.push({\n type,\n env: domain.env,\n variant: domain.variant,\n name: domain.name,\n sources: value,\n target\n });\n }\n\n return output;\n }, []);\n};\n"],"mappings":"AAYA,OAAO,MAAMA,cAAc,GAAIC,MAA6B,IAAuB;EAC/E,MAAM;IAAEC,eAAe;IAAEC;EAAmB,CAAC,GAAGF,MAAM;EAEtD,MAAMG,OAAO,GAAGF,eAAe,CAACE,OAAO;EAEvC,IAAI,CAACA,OAAO,EAAE;IACV,OAAO,EAAE;EACb;EACA,MAAMC,KAAK,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAC,CAACI,MAAM,CAACC,GAAG,IAAI;IAC7C,OAAO,CAAC,CAACL,OAAO,CAACK,GAAG,CAAuB;EAC/C,CAAC,CAAyB;EAE1B,OAAOJ,KAAK,CAACK,MAAM,CAAmB,CAACC,MAAM,EAAEC,IAAI,KAAK;IACpD,MAAMC,KAAK,GAAGT,OAAO,CAACQ,IAAI,CAAC;IAC3B;AACR;AACA;IACQ,IAAI,CAACC,KAAK,EAAE;MACR,OAAOF,MAAM;IACjB,CAAC,MAAM,IAAIE,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;MAC3B,MAAM,IAAIC,KAAK,CAAC,wBAAwBH,IAAI,eAAe,CAAC;IAChE;IACA,KAAK,MAAMI,MAAM,IAAIb,kBAAkB,EAAE;MACrC,MAAMc,MAAM,GAAGD,MAAM,CAACZ,OAAO,CAACQ,IAAI,CAAC;MACnC,IAAI,CAACK,MAAM,EAAE;QACT,MAAM,IAAIF,KAAK,CAAC,YAAYH,IAAI,2BAA2BI,MAAM,CAACE,IAAI,IAAI,CAAC;MAC/E;MAEAP,MAAM,CAACQ,IAAI,CAAC;QACRP,IAAI;QACJQ,GAAG,EAAEJ,MAAM,CAACI,GAAG;QACfC,OAAO,EAAEL,MAAM,CAACK,OAAO;QACvBH,IAAI,EAAEF,MAAM,CAACE,IAAI;QACjBI,OAAO,EAAET,KAAK;QACdI;MACJ,CAAC,CAAC;IACN;IAEA,OAAON,MAAM;EACjB,CAAC,EAAE,EAAE,CAAC;AACV,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/domains/resolveDomains.js","sources":["../../../../../src/pulumi/apps/blueGreen/domains/resolveDomains.ts"],"sourcesContent":["import type {\n IAttachedDomainKey,\n IAttachedDomains,\n IDeploymentsDomains,\n IResolvedDomains\n} from \"../types.js\";\n\nexport interface IResolveDomainsParams {\n attachedDomains: IAttachedDomains;\n deploymentsDomains: IDeploymentsDomains;\n}\n\nexport const resolveDomains = (params: IResolveDomainsParams): IResolvedDomains => {\n const { attachedDomains, deploymentsDomains } = params;\n\n const domains = attachedDomains.domains;\n\n if (!domains) {\n return [];\n }\n const types = Object.keys(domains).filter(key => {\n return !!domains[key as IAttachedDomainKey];\n }) as IAttachedDomainKey[];\n\n return types.reduce<IResolvedDomains>((output, type) => {\n const value = domains[type];\n /**\n * Should not happen because we are filtering out undefined values when creating the `types` array.\n */\n if (!value) {\n return output;\n } else if (value.length === 0) {\n throw new Error(`Missing domains for \"${type}\" deployment.`);\n }\n for (const domain of deploymentsDomains) {\n const target = domain.domains[type];\n if (!target) {\n throw new Error(`Missing \"${type}\" domain in deployment \"${domain.name}\".`);\n }\n\n output.push({\n type,\n env: domain.env,\n variant: domain.variant,\n name: domain.name,\n sources: value,\n target\n });\n }\n\n return output;\n }, []);\n};\n"],"names":["resolveDomains","params","attachedDomains","deploymentsDomains","domains","types","Object","key","output","type","value","Error","domain","target"],"mappings":"AAYO,MAAMA,iBAAiB,CAACC;IAC3B,MAAM,EAAEC,eAAe,EAAEC,kBAAkB,EAAE,GAAGF;IAEhD,MAAMG,UAAUF,gBAAgB,OAAO;IAEvC,IAAI,CAACE,SACD,OAAO,EAAE;IAEb,MAAMC,QAAQC,OAAO,IAAI,CAACF,SAAS,MAAM,CAACG,CAAAA,MAC/B,CAAC,CAACH,OAAO,CAACG,IAA0B;IAG/C,OAAOF,MAAM,MAAM,CAAmB,CAACG,QAAQC;QAC3C,MAAMC,QAAQN,OAAO,CAACK,KAAK;QAI3B,IAAI,CAACC,OACD,OAAOF;QACJ,IAAIE,AAAiB,MAAjBA,MAAM,MAAM,EACnB,MAAM,IAAIC,MAAM,CAAC,qBAAqB,EAAEF,KAAK,aAAa,CAAC;QAE/D,KAAK,MAAMG,UAAUT,mBAAoB;YACrC,MAAMU,SAASD,OAAO,OAAO,CAACH,KAAK;YACnC,IAAI,CAACI,QACD,MAAM,IAAIF,MAAM,CAAC,SAAS,EAAEF,KAAK,wBAAwB,EAAEG,OAAO,IAAI,CAAC,EAAE,CAAC;YAG9EJ,OAAO,IAAI,CAAC;gBACRC;gBACA,KAAKG,OAAO,GAAG;gBACf,SAASA,OAAO,OAAO;gBACvB,MAAMA,OAAO,IAAI;gBACjB,SAASF;gBACTG;YACJ;QACJ;QAEA,OAAOL;IACX,GAAG,EAAE;AACT"}
@@ -1,18 +1,11 @@
1
1
  import { existsSync, readFileSync } from "fs";
2
- export const buildHandlerFunction = ({
3
- storeId,
4
- storeKey,
5
- domains
6
- }) => {
7
- const target = __dirname + `/handler.mjs`;
8
- if (!existsSync(target)) {
9
- throw new Error(`File "${target}" does not exist.`);
10
- }
11
- const content = readFileSync(target, "utf8");
12
- if (!content) {
13
- throw new Error(`File "${target}" is empty.`);
14
- }
15
- return content.replace("{BLUE_GREEN_ROUTER_STORE_ID}", storeId).replace("{BLUE_GREEN_ROUTER_STORE_KEY}", storeKey).replace(`"{BLUE_GREEN_ROUTER_DOMAINS}"`, JSON.stringify(domains));
2
+ const buildHandlerFunction = ({ storeId, storeKey, domains })=>{
3
+ const target = __dirname + "/handler.mjs";
4
+ if (!existsSync(target)) throw new Error(`File "${target}" does not exist.`);
5
+ const content = readFileSync(target, "utf8");
6
+ if (!content) throw new Error(`File "${target}" is empty.`);
7
+ return content.replace("{BLUE_GREEN_ROUTER_STORE_ID}", storeId).replace("{BLUE_GREEN_ROUTER_STORE_KEY}", storeKey).replace('"{BLUE_GREEN_ROUTER_DOMAINS}"', JSON.stringify(domains));
16
8
  };
9
+ export { buildHandlerFunction };
17
10
 
18
11
  //# sourceMappingURL=buildHandlerFunction.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["existsSync","readFileSync","buildHandlerFunction","storeId","storeKey","domains","target","__dirname","Error","content","replace","JSON","stringify"],"sources":["buildHandlerFunction.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"fs\";\n\nexport interface IBuildRequestFunctionParamsDomain {\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 IBuildRequestFunctionParams {\n storeId: string;\n storeKey: string;\n domains: IBuildRequestFunctionParamsDomain[];\n}\n\nexport const buildHandlerFunction = ({\n storeId,\n storeKey,\n domains\n}: IBuildRequestFunctionParams): string => {\n const target = __dirname + `/handler.mjs`;\n if (!existsSync(target)) {\n throw new Error(`File \"${target}\" does not exist.`);\n }\n const content = readFileSync(target, \"utf8\");\n if (!content) {\n throw new Error(`File \"${target}\" is empty.`);\n }\n\n return content\n .replace(\"{BLUE_GREEN_ROUTER_STORE_ID}\", storeId)\n .replace(\"{BLUE_GREEN_ROUTER_STORE_KEY}\", storeKey)\n .replace(`\"{BLUE_GREEN_ROUTER_DOMAINS}\"`, JSON.stringify(domains));\n};\n"],"mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,IAAI;AAkB7C,OAAO,MAAMC,oBAAoB,GAAGA,CAAC;EACjCC,OAAO;EACPC,QAAQ;EACRC;AACyB,CAAC,KAAa;EACvC,MAAMC,MAAM,GAAGC,SAAS,GAAG,cAAc;EACzC,IAAI,CAACP,UAAU,CAACM,MAAM,CAAC,EAAE;IACrB,MAAM,IAAIE,KAAK,CAAC,SAASF,MAAM,mBAAmB,CAAC;EACvD;EACA,MAAMG,OAAO,GAAGR,YAAY,CAACK,MAAM,EAAE,MAAM,CAAC;EAC5C,IAAI,CAACG,OAAO,EAAE;IACV,MAAM,IAAID,KAAK,CAAC,SAASF,MAAM,aAAa,CAAC;EACjD;EAEA,OAAOG,OAAO,CACTC,OAAO,CAAC,8BAA8B,EAAEP,OAAO,CAAC,CAChDO,OAAO,CAAC,+BAA+B,EAAEN,QAAQ,CAAC,CAClDM,OAAO,CAAC,+BAA+B,EAAEC,IAAI,CAACC,SAAS,CAACP,OAAO,CAAC,CAAC;AAC1E,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/functions/buildHandlerFunction.js","sources":["../../../../../src/pulumi/apps/blueGreen/functions/buildHandlerFunction.ts"],"sourcesContent":["import { existsSync, readFileSync } from \"fs\";\n\nexport interface IBuildRequestFunctionParamsDomain {\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 IBuildRequestFunctionParams {\n storeId: string;\n storeKey: string;\n domains: IBuildRequestFunctionParamsDomain[];\n}\n\nexport const buildHandlerFunction = ({\n storeId,\n storeKey,\n domains\n}: IBuildRequestFunctionParams): string => {\n const target = __dirname + `/handler.mjs`;\n if (!existsSync(target)) {\n throw new Error(`File \"${target}\" does not exist.`);\n }\n const content = readFileSync(target, \"utf8\");\n if (!content) {\n throw new Error(`File \"${target}\" is empty.`);\n }\n\n return content\n .replace(\"{BLUE_GREEN_ROUTER_STORE_ID}\", storeId)\n .replace(\"{BLUE_GREEN_ROUTER_STORE_KEY}\", storeKey)\n .replace(`\"{BLUE_GREEN_ROUTER_DOMAINS}\"`, JSON.stringify(domains));\n};\n"],"names":["buildHandlerFunction","storeId","storeKey","domains","target","__dirname","existsSync","Error","content","readFileSync","JSON"],"mappings":";AAkBO,MAAMA,uBAAuB,CAAC,EACjCC,OAAO,EACPC,QAAQ,EACRC,OAAO,EACmB;IAC1B,MAAMC,SAASC,YAAY;IAC3B,IAAI,CAACC,WAAWF,SACZ,MAAM,IAAIG,MAAM,CAAC,MAAM,EAAEH,OAAO,iBAAiB,CAAC;IAEtD,MAAMI,UAAUC,aAAaL,QAAQ;IACrC,IAAI,CAACI,SACD,MAAM,IAAID,MAAM,CAAC,MAAM,EAAEH,OAAO,WAAW,CAAC;IAGhD,OAAOI,QACF,OAAO,CAAC,gCAAgCP,SACxC,OAAO,CAAC,iCAAiCC,UACzC,OAAO,CAAC,iCAAiCQ,KAAK,SAAS,CAACP;AACjE"}
@@ -1,61 +1,5 @@
1
- /* oxlint-disable */
2
1
  const cf = require("cloudfront");
3
2
  const BLUE_GREEN_ROUTER_STORE_ID = "{BLUE_GREEN_ROUTER_STORE_ID}";
4
- const BLUE_GREEN_ROUTER_STORE_KEY = "{BLUE_GREEN_ROUTER_STORE_KEY}";
5
- const BLUE_GREEN_ROUTER_DOMAINS = "{BLUE_GREEN_ROUTER_DOMAINS}";
6
- const store = cf.kvs(BLUE_GREEN_ROUTER_STORE_ID);
7
- function removeProtocol(url) {
8
- return url.replace(/^https?:\/\//, "");
9
- }
10
- function requestWithError(request, error) {
11
- console.log(`There is an error: ${error.message}`);
12
- const properties = Object.getOwnPropertyNames(error);
13
- for (const property in properties) {
14
- console.log(`${property}: ${error[property]}`);
15
- }
16
- request.headers["x-webiny-debug-log"] = {
17
- value: error.message
18
- };
19
- return request;
20
- }
21
- function getTargetDomain(headers, active) {
22
- const values = headers.host;
23
- if (!values) {
24
- throw new Error("Missing the 'host' header.");
25
- }
26
- const initialHost = Array.isArray(values) ? values[0].value : values.value;
27
- if (!initialHost) {
28
- throw new Error("Missing the 'host' header value.");
29
- }
30
- const host = removeProtocol(initialHost);
31
- const domain = BLUE_GREEN_ROUTER_DOMAINS.find(domain => domain.name === active && domain.sourceDomain === host);
32
- if (domain) {
33
- return domain;
34
- }
35
- throw new Error(`Could not find a domain mapping for ${host}.`);
36
- }
37
- function handleRequest(request, active) {
38
- const targetDomain = getTargetDomain(request.headers || {}, active);
39
- cf.updateRequestOrigin({
40
- domainName: targetDomain.targetDomain
41
- });
42
- return request;
43
- }
44
- async function handler(event) {
45
- const context = event.context;
46
- const request = event.request;
47
- try {
48
- if (context.eventType !== "viewer-request") {
49
- new Error("This function only supports viewer-request events.");
50
- }
51
- const active = await store.get(BLUE_GREEN_ROUTER_STORE_KEY);
52
- if (!active) {
53
- throw new Error("Blue/Green system is not configured.");
54
- }
55
- return await handleRequest(request, active);
56
- } catch (ex) {
57
- return requestWithError(request, ex);
58
- }
59
- }
3
+ cf.kvs(BLUE_GREEN_ROUTER_STORE_ID);
60
4
 
61
5
  //# sourceMappingURL=handler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["cf","require","BLUE_GREEN_ROUTER_STORE_ID","BLUE_GREEN_ROUTER_STORE_KEY","BLUE_GREEN_ROUTER_DOMAINS","store","kvs","removeProtocol","url","replace","requestWithError","request","error","console","log","message","properties","Object","getOwnPropertyNames","property","headers","value","getTargetDomain","active","values","host","Error","initialHost","Array","isArray","domain","find","name","sourceDomain","handleRequest","targetDomain","updateRequestOrigin","domainName","handler","event","context","eventType","get","ex"],"sources":["handler.js"],"sourcesContent":["/* oxlint-disable */\nconst cf = require(\"cloudfront\");\n\nconst BLUE_GREEN_ROUTER_STORE_ID = \"{BLUE_GREEN_ROUTER_STORE_ID}\";\nconst BLUE_GREEN_ROUTER_STORE_KEY = \"{BLUE_GREEN_ROUTER_STORE_KEY}\";\nconst BLUE_GREEN_ROUTER_DOMAINS = \"{BLUE_GREEN_ROUTER_DOMAINS}\";\n\nconst store = cf.kvs(BLUE_GREEN_ROUTER_STORE_ID);\n\nfunction removeProtocol(url) {\n return url.replace(/^https?:\\/\\//, \"\");\n}\nfunction requestWithError(request, error) {\n console.log(`There is an error: ${error.message}`);\n const properties = Object.getOwnPropertyNames(error);\n for (const property in properties) {\n console.log(`${property}: ${error[property]}`);\n }\n request.headers[\"x-webiny-debug-log\"] = {\n value: error.message\n };\n\n return request;\n}\n\nfunction getTargetDomain(headers, active) {\n const values = headers.host;\n if (!values) {\n throw new Error(\"Missing the 'host' header.\");\n }\n const initialHost = Array.isArray(values) ? values[0].value : values.value;\n if (!initialHost) {\n throw new Error(\"Missing the 'host' header value.\");\n }\n const host = removeProtocol(initialHost);\n\n const domain = BLUE_GREEN_ROUTER_DOMAINS.find(\n domain => domain.name === active && domain.sourceDomain === host\n );\n if (domain) {\n return domain;\n }\n throw new Error(`Could not find a domain mapping for ${host}.`);\n}\n\nfunction handleRequest(request, active) {\n const targetDomain = getTargetDomain(request.headers || {}, active);\n\n cf.updateRequestOrigin({\n domainName: targetDomain.targetDomain\n });\n\n return request;\n}\n\nasync function handler(event) {\n const context = event.context;\n const request = event.request;\n\n try {\n if (context.eventType !== \"viewer-request\") {\n new Error(\"This function only supports viewer-request events.\");\n }\n const active = await store.get(BLUE_GREEN_ROUTER_STORE_KEY);\n if (!active) {\n throw new Error(\"Blue/Green system is not configured.\");\n }\n\n return await handleRequest(request, active);\n } catch (ex) {\n return requestWithError(request, ex);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/functions/handler.js","sources":["../../../../../src/pulumi/apps/blueGreen/functions/handler.js"],"sourcesContent":["/* oxlint-disable */\nconst cf = require(\"cloudfront\");\n\nconst BLUE_GREEN_ROUTER_STORE_ID = \"{BLUE_GREEN_ROUTER_STORE_ID}\";\nconst BLUE_GREEN_ROUTER_STORE_KEY = \"{BLUE_GREEN_ROUTER_STORE_KEY}\";\nconst BLUE_GREEN_ROUTER_DOMAINS = \"{BLUE_GREEN_ROUTER_DOMAINS}\";\n\nconst store = cf.kvs(BLUE_GREEN_ROUTER_STORE_ID);\n\nfunction removeProtocol(url) {\n return url.replace(/^https?:\\/\\//, \"\");\n}\nfunction requestWithError(request, error) {\n console.log(`There is an error: ${error.message}`);\n const properties = Object.getOwnPropertyNames(error);\n for (const property in properties) {\n console.log(`${property}: ${error[property]}`);\n }\n request.headers[\"x-webiny-debug-log\"] = {\n value: error.message\n };\n\n return request;\n}\n\nfunction getTargetDomain(headers, active) {\n const values = headers.host;\n if (!values) {\n throw new Error(\"Missing the 'host' header.\");\n }\n const initialHost = Array.isArray(values) ? values[0].value : values.value;\n if (!initialHost) {\n throw new Error(\"Missing the 'host' header value.\");\n }\n const host = removeProtocol(initialHost);\n\n const domain = BLUE_GREEN_ROUTER_DOMAINS.find(\n domain => domain.name === active && domain.sourceDomain === host\n );\n if (domain) {\n return domain;\n }\n throw new Error(`Could not find a domain mapping for ${host}.`);\n}\n\nfunction handleRequest(request, active) {\n const targetDomain = getTargetDomain(request.headers || {}, active);\n\n cf.updateRequestOrigin({\n domainName: targetDomain.targetDomain\n });\n\n return request;\n}\n\nasync function handler(event) {\n const context = event.context;\n const request = event.request;\n\n try {\n if (context.eventType !== \"viewer-request\") {\n new Error(\"This function only supports viewer-request events.\");\n }\n const active = await store.get(BLUE_GREEN_ROUTER_STORE_KEY);\n if (!active) {\n throw new Error(\"Blue/Green system is not configured.\");\n }\n\n return await handleRequest(request, active);\n } catch (ex) {\n return requestWithError(request, ex);\n }\n}\n"],"names":["cf","require","BLUE_GREEN_ROUTER_STORE_ID"],"mappings":"AACA,MAAMA,KAAKC,QAAQ;AAEnB,MAAMC,6BAA6B;AAIrBF,GAAG,GAAG,CAACE"}
@@ -1,3 +0,0 @@
1
- export {};
2
-
3
- //# sourceMappingURL=types.js.map
@@ -1,33 +1,28 @@
1
1
  import zod from "zod";
2
2
  import { createZodError } from "@webiny/utils/createZodError.js";
3
3
  const schema = zod.array(zod.object({
4
- name: zod.string(),
5
- env: zod.string(),
6
- variant: zod.string().optional()
7
- })).min(2).max(2).refine(items => {
8
- const check = new Set(items.map(i => i.name));
9
- return check.size === items.length;
4
+ name: zod.string(),
5
+ env: zod.string(),
6
+ variant: zod.string().optional()
7
+ })).min(2).max(2).refine((items)=>{
8
+ const check = new Set(items.map((i)=>i.name));
9
+ return check.size === items.length;
10
10
  }, {
11
- message: "Names must be unique."
12
- }).refine(items => {
13
- const checks = new Set(items.map(item => {
14
- return `${item.env}#${item.variant || "not-set"}`;
15
- }));
16
- return checks.size === items.length;
11
+ message: "Names must be unique."
12
+ }).refine((items)=>{
13
+ const checks = new Set(items.map((item)=>`${item.env}#${item.variant || "not-set"}`));
14
+ return checks.size === items.length;
17
15
  }, {
18
- message: "Environment / variant combinations must be unique."
16
+ message: "Environment / variant combinations must be unique."
19
17
  });
20
- export const validateDeployments = deployments => {
21
- const result = schema.safeParse(deployments);
22
- if (result.error) {
23
- throw createZodError(result.error);
24
- }
25
- return result.data.map(item => {
26
- return {
27
- ...item,
28
- variant: item.variant
29
- };
30
- });
18
+ const validateDeployments = (deployments)=>{
19
+ const result = schema.safeParse(deployments);
20
+ if (result.error) throw createZodError(result.error);
21
+ return result.data.map((item)=>({
22
+ ...item,
23
+ variant: item.variant
24
+ }));
31
25
  };
26
+ export { validateDeployments };
32
27
 
33
28
  //# sourceMappingURL=validateDeployments.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["zod","createZodError","schema","array","object","name","string","env","variant","optional","min","max","refine","items","check","Set","map","i","size","length","message","checks","item","validateDeployments","deployments","result","safeParse","error","data"],"sources":["validateDeployments.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createZodError } from \"@webiny/utils/createZodError.js\";\nimport type { IBlueGreenDeployment } from \"../types.js\";\n\nconst schema = zod\n .array(\n zod.object({\n name: zod.string(),\n env: zod.string(),\n variant: zod.string().optional()\n })\n )\n .min(2)\n .max(2)\n .refine(\n items => {\n const check = new Set(items.map(i => i.name));\n return check.size === items.length;\n },\n {\n message: \"Names must be unique.\"\n }\n )\n .refine(\n items => {\n const checks = new Set(\n items.map(item => {\n return `${item.env}#${item.variant || \"not-set\"}`;\n })\n );\n return checks.size === items.length;\n },\n {\n message: \"Environment / variant combinations must be unique.\"\n }\n );\n\nexport const validateDeployments = (deployments: unknown): IBlueGreenDeployment[] => {\n const result = schema.safeParse(deployments);\n if (result.error) {\n throw createZodError(result.error);\n }\n return result.data.map(item => {\n return {\n ...item,\n variant: item.variant\n };\n });\n};\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,KAAK;AACrB,SAASC,cAAc,QAAQ,iCAAiC;AAGhE,MAAMC,MAAM,GAAGF,GAAG,CACbG,KAAK,CACFH,GAAG,CAACI,MAAM,CAAC;EACPC,IAAI,EAAEL,GAAG,CAACM,MAAM,CAAC,CAAC;EAClBC,GAAG,EAAEP,GAAG,CAACM,MAAM,CAAC,CAAC;EACjBE,OAAO,EAAER,GAAG,CAACM,MAAM,CAAC,CAAC,CAACG,QAAQ,CAAC;AACnC,CAAC,CACL,CAAC,CACAC,GAAG,CAAC,CAAC,CAAC,CACNC,GAAG,CAAC,CAAC,CAAC,CACNC,MAAM,CACHC,KAAK,IAAI;EACL,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAACF,KAAK,CAACG,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACZ,IAAI,CAAC,CAAC;EAC7C,OAAOS,KAAK,CAACI,IAAI,KAAKL,KAAK,CAACM,MAAM;AACtC,CAAC,EACD;EACIC,OAAO,EAAE;AACb,CACJ,CAAC,CACAR,MAAM,CACHC,KAAK,IAAI;EACL,MAAMQ,MAAM,GAAG,IAAIN,GAAG,CAClBF,KAAK,CAACG,GAAG,CAACM,IAAI,IAAI;IACd,OAAO,GAAGA,IAAI,CAACf,GAAG,IAAIe,IAAI,CAACd,OAAO,IAAI,SAAS,EAAE;EACrD,CAAC,CACL,CAAC;EACD,OAAOa,MAAM,CAACH,IAAI,KAAKL,KAAK,CAACM,MAAM;AACvC,CAAC,EACD;EACIC,OAAO,EAAE;AACb,CACJ,CAAC;AAEL,OAAO,MAAMG,mBAAmB,GAAIC,WAAoB,IAA6B;EACjF,MAAMC,MAAM,GAAGvB,MAAM,CAACwB,SAAS,CAACF,WAAW,CAAC;EAC5C,IAAIC,MAAM,CAACE,KAAK,EAAE;IACd,MAAM1B,cAAc,CAACwB,MAAM,CAACE,KAAK,CAAC;EACtC;EACA,OAAOF,MAAM,CAACG,IAAI,CAACZ,GAAG,CAACM,IAAI,IAAI;IAC3B,OAAO;MACH,GAAGA,IAAI;MACPd,OAAO,EAAEc,IAAI,CAACd;IAClB,CAAC;EACL,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/blueGreen/validation/validateDeployments.js","sources":["../../../../../src/pulumi/apps/blueGreen/validation/validateDeployments.ts"],"sourcesContent":["import zod from \"zod\";\nimport { createZodError } from \"@webiny/utils/createZodError.js\";\nimport type { IBlueGreenDeployment } from \"../types.js\";\n\nconst schema = zod\n .array(\n zod.object({\n name: zod.string(),\n env: zod.string(),\n variant: zod.string().optional()\n })\n )\n .min(2)\n .max(2)\n .refine(\n items => {\n const check = new Set(items.map(i => i.name));\n return check.size === items.length;\n },\n {\n message: \"Names must be unique.\"\n }\n )\n .refine(\n items => {\n const checks = new Set(\n items.map(item => {\n return `${item.env}#${item.variant || \"not-set\"}`;\n })\n );\n return checks.size === items.length;\n },\n {\n message: \"Environment / variant combinations must be unique.\"\n }\n );\n\nexport const validateDeployments = (deployments: unknown): IBlueGreenDeployment[] => {\n const result = schema.safeParse(deployments);\n if (result.error) {\n throw createZodError(result.error);\n }\n return result.data.map(item => {\n return {\n ...item,\n variant: item.variant\n };\n });\n};\n"],"names":["schema","zod","items","check","Set","i","checks","item","validateDeployments","deployments","result","createZodError"],"mappings":";;AAIA,MAAMA,SAASC,IAAAA,KACL,CACFA,IAAI,MAAM,CAAC;IACP,MAAMA,IAAI,MAAM;IAChB,KAAKA,IAAI,MAAM;IACf,SAASA,IAAI,MAAM,GAAG,QAAQ;AAClC,IAEH,GAAG,CAAC,GACJ,GAAG,CAAC,GACJ,MAAM,CACHC,CAAAA;IACI,MAAMC,QAAQ,IAAIC,IAAIF,MAAM,GAAG,CAACG,CAAAA,IAAKA,EAAE,IAAI;IAC3C,OAAOF,MAAM,IAAI,KAAKD,MAAM,MAAM;AACtC,GACA;IACI,SAAS;AACb,GAEH,MAAM,CACHA,CAAAA;IACI,MAAMI,SAAS,IAAIF,IACfF,MAAM,GAAG,CAACK,CAAAA,OACC,GAAGA,KAAK,GAAG,CAAC,CAAC,EAAEA,KAAK,OAAO,IAAI,WAAW;IAGzD,OAAOD,OAAO,IAAI,KAAKJ,MAAM,MAAM;AACvC,GACA;IACI,SAAS;AACb;AAGD,MAAMM,sBAAsB,CAACC;IAChC,MAAMC,SAASV,OAAO,SAAS,CAACS;IAChC,IAAIC,OAAO,KAAK,EACZ,MAAMC,eAAeD,OAAO,KAAK;IAErC,OAAOA,OAAO,IAAI,CAAC,GAAG,CAACH,CAAAA,OACZ;YACH,GAAGA,IAAI;YACP,SAASA,KAAK,OAAO;QACzB;AAER"}
@@ -1,42 +1,39 @@
1
1
  import { createAppModule } from "@webiny/pulumi";
2
2
  import { ProjectSdk } from "@webiny/project";
3
- export const CoreOutput = createAppModule({
4
- name: "CoreOutput",
5
- config(app) {
6
- return app.addHandler(async () => {
7
- const sdk = await ProjectSdk.init();
8
- const output = await sdk.getAppStackOutput("core");
9
- if (!output) {
10
- throw new Error("Core application is not deployed.");
11
- }
12
- return {
13
- fileManagerBucketId: output["fileManagerBucketId"],
14
- primaryDynamodbTableArn: output["primaryDynamodbTableArn"],
15
- primaryDynamodbTableName: output["primaryDynamodbTableName"],
16
- primaryDynamodbTableHashKey: output["primaryDynamodbTableHashKey"],
17
- primaryDynamodbTableRangeKey: output["primaryDynamodbTableRangeKey"],
18
- auditLogsDynamodbTableArn: output["auditLogsDynamodbTableArn"],
19
- auditLogsDynamodbTableName: output["auditLogsDynamodbTableName"],
20
- auditLogsDynamodbTableHashKey: output["auditLogsDynamodbTableHashKey"],
21
- auditLogsDynamodbTableRangeKey: output["auditLogsDynamodbTableRangeKey"],
22
- cognitoUserPoolId: output["cognitoUserPoolId"],
23
- cognitoUserPoolArn: output["cognitoUserPoolArn"],
24
- cognitoUserPoolPasswordPolicy: output["cognitoUserPoolPasswordPolicy"],
25
- cognitoAppClientId: output["cognitoAppClientId"],
26
- eventBusName: output["eventBusName"],
27
- eventBusArn: output["eventBusArn"],
28
- // These outputs are optional, since VPC is not always enabled.
29
- vpcPublicSubnetIds: output["vpcPublicSubnetIds"],
30
- vpcPrivateSubnetIds: output["vpcPrivateSubnetIds"],
31
- vpcSecurityGroupIds: output["vpcSecurityGroupIds"],
32
- // These outputs are optional, since Opensearch is not always enabled.
33
- opensearchDomainArn: output["opensearchDomainArn"],
34
- opensearchDomainEndpoint: output["opensearchDomainEndpoint"],
35
- opensearchDynamodbTableArn: output["opensearchDynamodbTableArn"],
36
- opensearchDynamodbTableName: output["opensearchDynamodbTableName"]
37
- };
38
- });
39
- }
3
+ const CoreOutput = createAppModule({
4
+ name: "CoreOutput",
5
+ config (app) {
6
+ return app.addHandler(async ()=>{
7
+ const sdk = await ProjectSdk.init();
8
+ const output = await sdk.getAppStackOutput("core");
9
+ if (!output) throw new Error("Core application is not deployed.");
10
+ return {
11
+ fileManagerBucketId: output["fileManagerBucketId"],
12
+ primaryDynamodbTableArn: output["primaryDynamodbTableArn"],
13
+ primaryDynamodbTableName: output["primaryDynamodbTableName"],
14
+ primaryDynamodbTableHashKey: output["primaryDynamodbTableHashKey"],
15
+ primaryDynamodbTableRangeKey: output["primaryDynamodbTableRangeKey"],
16
+ auditLogsDynamodbTableArn: output["auditLogsDynamodbTableArn"],
17
+ auditLogsDynamodbTableName: output["auditLogsDynamodbTableName"],
18
+ auditLogsDynamodbTableHashKey: output["auditLogsDynamodbTableHashKey"],
19
+ auditLogsDynamodbTableRangeKey: output["auditLogsDynamodbTableRangeKey"],
20
+ cognitoUserPoolId: output["cognitoUserPoolId"],
21
+ cognitoUserPoolArn: output["cognitoUserPoolArn"],
22
+ cognitoUserPoolPasswordPolicy: output["cognitoUserPoolPasswordPolicy"],
23
+ cognitoAppClientId: output["cognitoAppClientId"],
24
+ eventBusName: output["eventBusName"],
25
+ eventBusArn: output["eventBusArn"],
26
+ vpcPublicSubnetIds: output["vpcPublicSubnetIds"],
27
+ vpcPrivateSubnetIds: output["vpcPrivateSubnetIds"],
28
+ vpcSecurityGroupIds: output["vpcSecurityGroupIds"],
29
+ opensearchDomainArn: output["opensearchDomainArn"],
30
+ opensearchDomainEndpoint: output["opensearchDomainEndpoint"],
31
+ opensearchDynamodbTableArn: output["opensearchDynamodbTableArn"],
32
+ opensearchDynamodbTableName: output["opensearchDynamodbTableName"]
33
+ };
34
+ });
35
+ }
40
36
  });
37
+ export { CoreOutput };
41
38
 
42
39
  //# sourceMappingURL=CoreOutput.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createAppModule","ProjectSdk","CoreOutput","name","config","app","addHandler","sdk","init","output","getAppStackOutput","Error","fileManagerBucketId","primaryDynamodbTableArn","primaryDynamodbTableName","primaryDynamodbTableHashKey","primaryDynamodbTableRangeKey","auditLogsDynamodbTableArn","auditLogsDynamodbTableName","auditLogsDynamodbTableHashKey","auditLogsDynamodbTableRangeKey","cognitoUserPoolId","cognitoUserPoolArn","cognitoUserPoolPasswordPolicy","cognitoAppClientId","eventBusName","eventBusArn","vpcPublicSubnetIds","vpcPrivateSubnetIds","vpcSecurityGroupIds","opensearchDomainArn","opensearchDomainEndpoint","opensearchDynamodbTableArn","opensearchDynamodbTableName"],"sources":["CoreOutput.ts"],"sourcesContent":["import { createAppModule, type PulumiAppModule } from \"@webiny/pulumi\";\nimport { ProjectSdk } from \"@webiny/project\";\n\nexport type CoreOutput = PulumiAppModule<typeof CoreOutput>;\n\nexport interface ICoreOutput {\n deploymentId: string;\n region: string;\n dynamoDbTable: string;\n iotAuthorizerName: string;\n cognitoUserPoolArn: string;\n cognitoAppClientId: string;\n cognitoUserPoolId: string;\n cognitoUserPoolPasswordPolicy: string;\n fileManagerBucketId: string;\n fileManagerBucketArn: string;\n primaryDynamodbTableArn: string;\n primaryDynamodbTableName: string;\n primaryDynamodbTableHashKey: string;\n primaryDynamodbTableRangeKey: string;\n auditLogsDynamodbTableArn: string;\n auditLogsDynamodbTableName: string;\n auditLogsDynamodbTableHashKey: string;\n auditLogsDynamodbTableRangeKey: string;\n eventBusName: string;\n eventBusArn: string;\n vpcPublicSubnetIds: string[] | undefined;\n vpcPrivateSubnetIds: string[] | undefined;\n vpcSecurityGroupIds: string[] | undefined;\n opensearchDomainArn: string | undefined;\n opensearchDomainEndpoint: string | undefined;\n opensearchDynamodbTableHashKey: string;\n opensearchDynamodbTableRangeKey: string;\n opensearchDynamodbTableArn: string | undefined;\n opensearchDynamodbTableName: string | undefined;\n}\n\nexport const CoreOutput = createAppModule({\n name: \"CoreOutput\",\n config(app) {\n return app.addHandler(async () => {\n const sdk = await ProjectSdk.init();\n\n const output = await sdk.getAppStackOutput(\"core\");\n if (!output) {\n throw new Error(\"Core application is not deployed.\");\n }\n\n return {\n fileManagerBucketId: output[\"fileManagerBucketId\"],\n primaryDynamodbTableArn: output[\"primaryDynamodbTableArn\"],\n primaryDynamodbTableName: output[\"primaryDynamodbTableName\"],\n primaryDynamodbTableHashKey: output[\"primaryDynamodbTableHashKey\"],\n primaryDynamodbTableRangeKey: output[\"primaryDynamodbTableRangeKey\"],\n auditLogsDynamodbTableArn: output[\"auditLogsDynamodbTableArn\"],\n auditLogsDynamodbTableName: output[\"auditLogsDynamodbTableName\"],\n auditLogsDynamodbTableHashKey: output[\"auditLogsDynamodbTableHashKey\"],\n auditLogsDynamodbTableRangeKey: output[\"auditLogsDynamodbTableRangeKey\"],\n cognitoUserPoolId: output[\"cognitoUserPoolId\"],\n cognitoUserPoolArn: output[\"cognitoUserPoolArn\"],\n cognitoUserPoolPasswordPolicy: output[\"cognitoUserPoolPasswordPolicy\"],\n cognitoAppClientId: output[\"cognitoAppClientId\"],\n eventBusName: output[\"eventBusName\"],\n eventBusArn: output[\"eventBusArn\"],\n // These outputs are optional, since VPC is not always enabled.\n vpcPublicSubnetIds: output[\"vpcPublicSubnetIds\"],\n vpcPrivateSubnetIds: output[\"vpcPrivateSubnetIds\"],\n vpcSecurityGroupIds: output[\"vpcSecurityGroupIds\"],\n // These outputs are optional, since Opensearch is not always enabled.\n opensearchDomainArn: output[\"opensearchDomainArn\"],\n opensearchDomainEndpoint: output[\"opensearchDomainEndpoint\"],\n opensearchDynamodbTableArn: output[\"opensearchDynamodbTableArn\"],\n opensearchDynamodbTableName: output[\"opensearchDynamodbTableName\"]\n } as ICoreOutput;\n });\n }\n});\n"],"mappings":"AAAA,SAASA,eAAe,QAA8B,gBAAgB;AACtE,SAASC,UAAU,QAAQ,iBAAiB;AAoC5C,OAAO,MAAMC,UAAU,GAAGF,eAAe,CAAC;EACtCG,IAAI,EAAE,YAAY;EAClBC,MAAMA,CAACC,GAAG,EAAE;IACR,OAAOA,GAAG,CAACC,UAAU,CAAC,YAAY;MAC9B,MAAMC,GAAG,GAAG,MAAMN,UAAU,CAACO,IAAI,CAAC,CAAC;MAEnC,MAAMC,MAAM,GAAG,MAAMF,GAAG,CAACG,iBAAiB,CAAC,MAAM,CAAC;MAClD,IAAI,CAACD,MAAM,EAAE;QACT,MAAM,IAAIE,KAAK,CAAC,mCAAmC,CAAC;MACxD;MAEA,OAAO;QACHC,mBAAmB,EAAEH,MAAM,CAAC,qBAAqB,CAAC;QAClDI,uBAAuB,EAAEJ,MAAM,CAAC,yBAAyB,CAAC;QAC1DK,wBAAwB,EAAEL,MAAM,CAAC,0BAA0B,CAAC;QAC5DM,2BAA2B,EAAEN,MAAM,CAAC,6BAA6B,CAAC;QAClEO,4BAA4B,EAAEP,MAAM,CAAC,8BAA8B,CAAC;QACpEQ,yBAAyB,EAAER,MAAM,CAAC,2BAA2B,CAAC;QAC9DS,0BAA0B,EAAET,MAAM,CAAC,4BAA4B,CAAC;QAChEU,6BAA6B,EAAEV,MAAM,CAAC,+BAA+B,CAAC;QACtEW,8BAA8B,EAAEX,MAAM,CAAC,gCAAgC,CAAC;QACxEY,iBAAiB,EAAEZ,MAAM,CAAC,mBAAmB,CAAC;QAC9Ca,kBAAkB,EAAEb,MAAM,CAAC,oBAAoB,CAAC;QAChDc,6BAA6B,EAAEd,MAAM,CAAC,+BAA+B,CAAC;QACtEe,kBAAkB,EAAEf,MAAM,CAAC,oBAAoB,CAAC;QAChDgB,YAAY,EAAEhB,MAAM,CAAC,cAAc,CAAC;QACpCiB,WAAW,EAAEjB,MAAM,CAAC,aAAa,CAAC;QAClC;QACAkB,kBAAkB,EAAElB,MAAM,CAAC,oBAAoB,CAAC;QAChDmB,mBAAmB,EAAEnB,MAAM,CAAC,qBAAqB,CAAC;QAClDoB,mBAAmB,EAAEpB,MAAM,CAAC,qBAAqB,CAAC;QAClD;QACAqB,mBAAmB,EAAErB,MAAM,CAAC,qBAAqB,CAAC;QAClDsB,wBAAwB,EAAEtB,MAAM,CAAC,0BAA0B,CAAC;QAC5DuB,0BAA0B,EAAEvB,MAAM,CAAC,4BAA4B,CAAC;QAChEwB,2BAA2B,EAAExB,MAAM,CAAC,6BAA6B;MACrE,CAAC;IACL,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"pulumi/apps/common/CoreOutput.js","sources":["../../../../src/pulumi/apps/common/CoreOutput.ts"],"sourcesContent":["import { createAppModule, type PulumiAppModule } from \"@webiny/pulumi\";\nimport { ProjectSdk } from \"@webiny/project\";\n\nexport type CoreOutput = PulumiAppModule<typeof CoreOutput>;\n\nexport interface ICoreOutput {\n deploymentId: string;\n region: string;\n dynamoDbTable: string;\n iotAuthorizerName: string;\n cognitoUserPoolArn: string;\n cognitoAppClientId: string;\n cognitoUserPoolId: string;\n cognitoUserPoolPasswordPolicy: string;\n fileManagerBucketId: string;\n fileManagerBucketArn: string;\n primaryDynamodbTableArn: string;\n primaryDynamodbTableName: string;\n primaryDynamodbTableHashKey: string;\n primaryDynamodbTableRangeKey: string;\n auditLogsDynamodbTableArn: string;\n auditLogsDynamodbTableName: string;\n auditLogsDynamodbTableHashKey: string;\n auditLogsDynamodbTableRangeKey: string;\n eventBusName: string;\n eventBusArn: string;\n vpcPublicSubnetIds: string[] | undefined;\n vpcPrivateSubnetIds: string[] | undefined;\n vpcSecurityGroupIds: string[] | undefined;\n opensearchDomainArn: string | undefined;\n opensearchDomainEndpoint: string | undefined;\n opensearchDynamodbTableHashKey: string;\n opensearchDynamodbTableRangeKey: string;\n opensearchDynamodbTableArn: string | undefined;\n opensearchDynamodbTableName: string | undefined;\n}\n\nexport const CoreOutput = createAppModule({\n name: \"CoreOutput\",\n config(app) {\n return app.addHandler(async () => {\n const sdk = await ProjectSdk.init();\n\n const output = await sdk.getAppStackOutput(\"core\");\n if (!output) {\n throw new Error(\"Core application is not deployed.\");\n }\n\n return {\n fileManagerBucketId: output[\"fileManagerBucketId\"],\n primaryDynamodbTableArn: output[\"primaryDynamodbTableArn\"],\n primaryDynamodbTableName: output[\"primaryDynamodbTableName\"],\n primaryDynamodbTableHashKey: output[\"primaryDynamodbTableHashKey\"],\n primaryDynamodbTableRangeKey: output[\"primaryDynamodbTableRangeKey\"],\n auditLogsDynamodbTableArn: output[\"auditLogsDynamodbTableArn\"],\n auditLogsDynamodbTableName: output[\"auditLogsDynamodbTableName\"],\n auditLogsDynamodbTableHashKey: output[\"auditLogsDynamodbTableHashKey\"],\n auditLogsDynamodbTableRangeKey: output[\"auditLogsDynamodbTableRangeKey\"],\n cognitoUserPoolId: output[\"cognitoUserPoolId\"],\n cognitoUserPoolArn: output[\"cognitoUserPoolArn\"],\n cognitoUserPoolPasswordPolicy: output[\"cognitoUserPoolPasswordPolicy\"],\n cognitoAppClientId: output[\"cognitoAppClientId\"],\n eventBusName: output[\"eventBusName\"],\n eventBusArn: output[\"eventBusArn\"],\n // These outputs are optional, since VPC is not always enabled.\n vpcPublicSubnetIds: output[\"vpcPublicSubnetIds\"],\n vpcPrivateSubnetIds: output[\"vpcPrivateSubnetIds\"],\n vpcSecurityGroupIds: output[\"vpcSecurityGroupIds\"],\n // These outputs are optional, since Opensearch is not always enabled.\n opensearchDomainArn: output[\"opensearchDomainArn\"],\n opensearchDomainEndpoint: output[\"opensearchDomainEndpoint\"],\n opensearchDynamodbTableArn: output[\"opensearchDynamodbTableArn\"],\n opensearchDynamodbTableName: output[\"opensearchDynamodbTableName\"]\n } as ICoreOutput;\n });\n }\n});\n"],"names":["CoreOutput","createAppModule","app","sdk","ProjectSdk","output","Error"],"mappings":";;AAqCO,MAAMA,aAAaC,gBAAgB;IACtC,MAAM;IACN,QAAOC,GAAG;QACN,OAAOA,IAAI,UAAU,CAAC;YAClB,MAAMC,MAAM,MAAMC,WAAW,IAAI;YAEjC,MAAMC,SAAS,MAAMF,IAAI,iBAAiB,CAAC;YAC3C,IAAI,CAACE,QACD,MAAM,IAAIC,MAAM;YAGpB,OAAO;gBACH,qBAAqBD,MAAM,CAAC,sBAAsB;gBAClD,yBAAyBA,MAAM,CAAC,0BAA0B;gBAC1D,0BAA0BA,MAAM,CAAC,2BAA2B;gBAC5D,6BAA6BA,MAAM,CAAC,8BAA8B;gBAClE,8BAA8BA,MAAM,CAAC,+BAA+B;gBACpE,2BAA2BA,MAAM,CAAC,4BAA4B;gBAC9D,4BAA4BA,MAAM,CAAC,6BAA6B;gBAChE,+BAA+BA,MAAM,CAAC,gCAAgC;gBACtE,gCAAgCA,MAAM,CAAC,iCAAiC;gBACxE,mBAAmBA,MAAM,CAAC,oBAAoB;gBAC9C,oBAAoBA,MAAM,CAAC,qBAAqB;gBAChD,+BAA+BA,MAAM,CAAC,gCAAgC;gBACtE,oBAAoBA,MAAM,CAAC,qBAAqB;gBAChD,cAAcA,MAAM,CAAC,eAAe;gBACpC,aAAaA,MAAM,CAAC,cAAc;gBAElC,oBAAoBA,MAAM,CAAC,qBAAqB;gBAChD,qBAAqBA,MAAM,CAAC,sBAAsB;gBAClD,qBAAqBA,MAAM,CAAC,sBAAsB;gBAElD,qBAAqBA,MAAM,CAAC,sBAAsB;gBAClD,0BAA0BA,MAAM,CAAC,2BAA2B;gBAC5D,4BAA4BA,MAAM,CAAC,6BAA6B;gBAChE,6BAA6BA,MAAM,CAAC,8BAA8B;YACtE;QACJ;IACJ;AACJ"}