@webiny/project-aws 0.0.0-unstable.61c048f412

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 (547) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -0
  3. package/_templates/appTemplates/admin/src/App.scss +2 -0
  4. package/_templates/appTemplates/admin/src/App.tsx +13 -0
  5. package/_templates/appTemplates/admin/src/Extensions.tsx +7 -0
  6. package/_templates/appTemplates/admin/src/index.tsx +11 -0
  7. package/_templates/appTemplates/admin/tsconfig.json +7 -0
  8. package/_templates/appTemplates/admin/webiny.application.ts +3 -0
  9. package/_templates/appTemplates/admin/webiny.config.ts +3 -0
  10. package/_templates/appTemplates/api/graphql/package.json +31 -0
  11. package/_templates/appTemplates/api/graphql/src/extensions.ts +9 -0
  12. package/_templates/appTemplates/api/graphql/src/index.ts +80 -0
  13. package/_templates/appTemplates/api/graphql/src/security.ts +43 -0
  14. package/_templates/appTemplates/api/graphql/tsconfig.json +7 -0
  15. package/_templates/appTemplates/api/graphql/webiny.config.ts +8 -0
  16. package/_templates/appTemplates/api/migration/src/index.ts +23 -0
  17. package/_templates/appTemplates/api/migration/tsconfig.json +7 -0
  18. package/_templates/appTemplates/api/migration/webiny.config.ts +8 -0
  19. package/_templates/appTemplates/api/webiny.application.ts +3 -0
  20. package/_templates/appTemplates/blueGreen/webiny.application.ts +3 -0
  21. package/_templates/appTemplates/core/webiny.application.ts +3 -0
  22. package/_templates/appTemplates/syncSystem/webiny.application.ts +3 -0
  23. package/_templates/extensions/OpenSearch/api/graphql/src/index.ts +84 -0
  24. package/_templates/extensions/OpenSearch/api/migration/src/index.ts +33 -0
  25. package/_templates/extensions/OpenSearch/coreDdbToEsHandler/dynamoToElastic/src/index.ts +15 -0
  26. package/_templates/extensions/OpenSearch/coreDdbToEsHandler/dynamoToElastic/tsconfig.json +7 -0
  27. package/_templates/extensions/OpenSearch/coreDdbToEsHandler/dynamoToElastic/webiny.config.ts +8 -0
  28. package/abstractions/ApiGqlClient.d.ts +23 -0
  29. package/abstractions/ApiGqlClient.js +4 -0
  30. package/abstractions/ApiGqlClient.js.map +1 -0
  31. package/abstractions/InvokeLambdaFunction.d.ts +18 -0
  32. package/abstractions/InvokeLambdaFunction.js +4 -0
  33. package/abstractions/InvokeLambdaFunction.js.map +1 -0
  34. package/abstractions/index.d.ts +5 -0
  35. package/abstractions/index.js +7 -0
  36. package/abstractions/index.js.map +1 -0
  37. package/abstractions/services/AdminStackOutputService.d.ts +13 -0
  38. package/abstractions/services/AdminStackOutputService.js +4 -0
  39. package/abstractions/services/AdminStackOutputService.js.map +1 -0
  40. package/abstractions/services/ApiStackOutputService.d.ts +30 -0
  41. package/abstractions/services/ApiStackOutputService.js +4 -0
  42. package/abstractions/services/ApiStackOutputService.js.map +1 -0
  43. package/abstractions/services/CoreStackOutputService.d.ts +16 -0
  44. package/abstractions/services/CoreStackOutputService.js +4 -0
  45. package/abstractions/services/CoreStackOutputService.js.map +1 -0
  46. package/admin.d.ts +22 -0
  47. package/admin.js +7 -0
  48. package/admin.js.map +1 -0
  49. package/api.d.ts +22 -0
  50. package/api.js +7 -0
  51. package/api.js.map +1 -0
  52. package/apps/createAdminApp.d.ts +13 -0
  53. package/apps/createAdminApp.js +15 -0
  54. package/apps/createAdminApp.js.map +1 -0
  55. package/apps/createAdminAppConfig.d.ts +2 -0
  56. package/apps/createAdminAppConfig.js +21 -0
  57. package/apps/createAdminAppConfig.js.map +1 -0
  58. package/apps/createApiApp.d.ts +65 -0
  59. package/apps/createApiApp.js +25 -0
  60. package/apps/createApiApp.js.map +1 -0
  61. package/apps/createBlueGreenApp.d.ts +24 -0
  62. package/apps/createBlueGreenApp.js +20 -0
  63. package/apps/createBlueGreenApp.js.map +1 -0
  64. package/apps/createCoreApp.d.ts +36 -0
  65. package/apps/createCoreApp.js +16 -0
  66. package/apps/createCoreApp.js.map +1 -0
  67. package/apps/createReactAppConfig.d.ts +53 -0
  68. package/apps/createReactAppConfig.js +79 -0
  69. package/apps/createReactAppConfig.js.map +1 -0
  70. package/apps/createSyncSystemApp.d.ts +21 -0
  71. package/apps/createSyncSystemApp.js +11 -0
  72. package/apps/createSyncSystemApp.js.map +1 -0
  73. package/apps/index.d.ts +7 -0
  74. package/apps/index.js +9 -0
  75. package/apps/index.js.map +1 -0
  76. package/cli.d.ts +9 -0
  77. package/cli.js +6 -0
  78. package/cli.js.map +1 -0
  79. package/exports/extensions.d.ts +7 -0
  80. package/exports/extensions.js +9 -0
  81. package/exports/extensions.js.map +1 -0
  82. package/exports/infra/admin.d.ts +1 -0
  83. package/exports/infra/admin.js +3 -0
  84. package/exports/infra/admin.js.map +1 -0
  85. package/exports/infra/api.d.ts +1 -0
  86. package/exports/infra/api.js +3 -0
  87. package/exports/infra/api.js.map +1 -0
  88. package/exports/infra/core.d.ts +1 -0
  89. package/exports/infra/core.js +3 -0
  90. package/exports/infra/core.js.map +1 -0
  91. package/extensions/AwsDefaultRegion.d.ts +5 -0
  92. package/extensions/AwsDefaultRegion.js +10 -0
  93. package/extensions/AwsDefaultRegion.js.map +1 -0
  94. package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.d.ts +10 -0
  95. package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js +40 -0
  96. package/extensions/OpenSearch/EnsureOsServiceRoleBeforeCoreDeploy.js.map +1 -0
  97. package/extensions/OpenSearch/EnsureOsWasDeployed.d.ts +11 -0
  98. package/extensions/OpenSearch/EnsureOsWasDeployed.js +34 -0
  99. package/extensions/OpenSearch/EnsureOsWasDeployed.js.map +1 -0
  100. package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.d.ts +12 -0
  101. package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js +31 -0
  102. package/extensions/OpenSearch/InjectDdbEsLambdaFnHandler.js.map +1 -0
  103. package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.d.ts +12 -0
  104. package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js +32 -0
  105. package/extensions/OpenSearch/ReplaceApiLambdaFnHandlers.js.map +1 -0
  106. package/extensions/OpenSearch.d.ts +17 -0
  107. package/extensions/OpenSearch.js +36 -0
  108. package/extensions/OpenSearch.js.map +1 -0
  109. package/extensions/ProjectAws/AdminStackOutputService.d.ts +1 -0
  110. package/extensions/ProjectAws/AdminStackOutputService.js +3 -0
  111. package/extensions/ProjectAws/AdminStackOutputService.js.map +1 -0
  112. package/extensions/ProjectAws/ApiStackOutputService.d.ts +1 -0
  113. package/extensions/ProjectAws/ApiStackOutputService.js +3 -0
  114. package/extensions/ProjectAws/ApiStackOutputService.js.map +1 -0
  115. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.d.ts +17 -0
  116. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js +108 -0
  117. package/extensions/ProjectAws/AutoInstall/AutoInstallAfterApiDeploy.js.map +1 -0
  118. package/extensions/ProjectAws/AutoInstall.d.ts +33 -0
  119. package/extensions/ProjectAws/AutoInstall.js +19 -0
  120. package/extensions/ProjectAws/AutoInstall.js.map +1 -0
  121. package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.d.ts +10 -0
  122. package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js +27 -0
  123. package/extensions/ProjectAws/BlueGreenDeployments/EnsureVariantBeforeDeploy.js.map +1 -0
  124. package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.d.ts +20 -0
  125. package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js +54 -0
  126. package/extensions/ProjectAws/BlueGreenDeployments/PrintDeploymentInfoAfterDeploy.js.map +1 -0
  127. package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.d.ts +18 -0
  128. package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js +60 -0
  129. package/extensions/ProjectAws/BlueGreenDeployments/SetPrimaryVariantCliCommand.js.map +1 -0
  130. package/extensions/ProjectAws/BuildAppWorkspace.d.ts +12 -0
  131. package/extensions/ProjectAws/BuildAppWorkspace.js +66 -0
  132. package/extensions/ProjectAws/BuildAppWorkspace.js.map +1 -0
  133. package/extensions/ProjectAws/CoreStackOutputService.d.ts +1 -0
  134. package/extensions/ProjectAws/CoreStackOutputService.js +3 -0
  135. package/extensions/ProjectAws/CoreStackOutputService.js.map +1 -0
  136. package/extensions/ProjectAws/ExecuteDataMigrations.d.ts +16 -0
  137. package/extensions/ProjectAws/ExecuteDataMigrations.js +69 -0
  138. package/extensions/ProjectAws/ExecuteDataMigrations.js.map +1 -0
  139. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.d.ts +13 -0
  140. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js +43 -0
  141. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVars.js.map +1 -0
  142. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.d.ts +13 -0
  143. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js +24 -0
  144. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeBuild.js.map +1 -0
  145. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.d.ts +13 -0
  146. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js +24 -0
  147. package/extensions/ProjectAws/SetAdminEnvVars/SetAdminEnvVarsBeforeWatch.js.map +1 -0
  148. package/extensions/ProjectAws/SetDatabaseSetupOutput.d.ts +10 -0
  149. package/extensions/ProjectAws/SetDatabaseSetupOutput.js +29 -0
  150. package/extensions/ProjectAws/SetDatabaseSetupOutput.js.map +1 -0
  151. package/extensions/ProjectAws/UploadAdminAppToS3.d.ts +13 -0
  152. package/extensions/ProjectAws/UploadAdminAppToS3.js +69 -0
  153. package/extensions/ProjectAws/UploadAdminAppToS3.js.map +1 -0
  154. package/extensions/ProjectAws/definitions.d.ts +3 -0
  155. package/extensions/ProjectAws/definitions.js +11 -0
  156. package/extensions/ProjectAws/definitions.js.map +1 -0
  157. package/extensions/ProjectAws.d.ts +2 -0
  158. package/extensions/ProjectAws.js +49 -0
  159. package/extensions/ProjectAws.js.map +1 -0
  160. package/extensions/index.d.ts +4 -0
  161. package/extensions/index.js +6 -0
  162. package/extensions/index.js.map +1 -0
  163. package/features/ApiGqlClient.d.ts +21 -0
  164. package/features/ApiGqlClient.js +59 -0
  165. package/features/ApiGqlClient.js.map +1 -0
  166. package/features/InvokeLambdaFunction.d.ts +10 -0
  167. package/features/InvokeLambdaFunction.js +38 -0
  168. package/features/InvokeLambdaFunction.js.map +1 -0
  169. package/features/index.d.ts +2 -0
  170. package/features/index.js +4 -0
  171. package/features/index.js.map +1 -0
  172. package/index.d.ts +7 -0
  173. package/index.js +9 -0
  174. package/index.js.map +1 -0
  175. package/infra.d.ts +399 -0
  176. package/infra.js +49 -0
  177. package/infra.js.map +1 -0
  178. package/package.json +63 -0
  179. package/project.d.ts +48 -0
  180. package/project.js +9 -0
  181. package/project.js.map +1 -0
  182. package/pulumi/apps/admin/createAdminPulumiApp.d.ts +10 -0
  183. package/pulumi/apps/admin/createAdminPulumiApp.js +52 -0
  184. package/pulumi/apps/admin/createAdminPulumiApp.js.map +1 -0
  185. package/pulumi/apps/admin/index.d.ts +1 -0
  186. package/pulumi/apps/admin/index.js +3 -0
  187. package/pulumi/apps/admin/index.js.map +1 -0
  188. package/pulumi/apps/api/ApiBackgroundTask.d.ts +12 -0
  189. package/pulumi/apps/api/ApiBackgroundTask.js +148 -0
  190. package/pulumi/apps/api/ApiBackgroundTask.js.map +1 -0
  191. package/pulumi/apps/api/ApiCloudfront.d.ts +3 -0
  192. package/pulumi/apps/api/ApiCloudfront.js +136 -0
  193. package/pulumi/apps/api/ApiCloudfront.js.map +1 -0
  194. package/pulumi/apps/api/ApiFileManager.d.ts +11 -0
  195. package/pulumi/apps/api/ApiFileManager.js +39 -0
  196. package/pulumi/apps/api/ApiFileManager.js.map +1 -0
  197. package/pulumi/apps/api/ApiGateway.d.ts +18 -0
  198. package/pulumi/apps/api/ApiGateway.js +80 -0
  199. package/pulumi/apps/api/ApiGateway.js.map +1 -0
  200. package/pulumi/apps/api/ApiGraphql.d.ts +22 -0
  201. package/pulumi/apps/api/ApiGraphql.js +164 -0
  202. package/pulumi/apps/api/ApiGraphql.js.map +1 -0
  203. package/pulumi/apps/api/ApiMigration.d.ts +5 -0
  204. package/pulumi/apps/api/ApiMigration.js +83 -0
  205. package/pulumi/apps/api/ApiMigration.js.map +1 -0
  206. package/pulumi/apps/api/ApiOutput.d.ts +23 -0
  207. package/pulumi/apps/api/ApiOutput.js +36 -0
  208. package/pulumi/apps/api/ApiOutput.js.map +1 -0
  209. package/pulumi/apps/api/ApiScheduler.d.ts +8 -0
  210. package/pulumi/apps/api/ApiScheduler.js +100 -0
  211. package/pulumi/apps/api/ApiScheduler.js.map +1 -0
  212. package/pulumi/apps/api/ApiWebsocket.d.ts +14 -0
  213. package/pulumi/apps/api/ApiWebsocket.js +138 -0
  214. package/pulumi/apps/api/ApiWebsocket.js.map +1 -0
  215. package/pulumi/apps/api/backgroundTask/definition.d.ts +7 -0
  216. package/pulumi/apps/api/backgroundTask/definition.js +149 -0
  217. package/pulumi/apps/api/backgroundTask/definition.js.map +1 -0
  218. package/pulumi/apps/api/backgroundTask/policy.d.ts +8 -0
  219. package/pulumi/apps/api/backgroundTask/policy.js +26 -0
  220. package/pulumi/apps/api/backgroundTask/policy.js.map +1 -0
  221. package/pulumi/apps/api/backgroundTask/role.d.ts +9 -0
  222. package/pulumi/apps/api/backgroundTask/role.js +32 -0
  223. package/pulumi/apps/api/backgroundTask/role.js.map +1 -0
  224. package/pulumi/apps/api/backgroundTask/types.d.ts +91 -0
  225. package/pulumi/apps/api/backgroundTask/types.js +14 -0
  226. package/pulumi/apps/api/backgroundTask/types.js.map +1 -0
  227. package/pulumi/apps/api/createApiPulumiApp.d.ts +57 -0
  228. package/pulumi/apps/api/createApiPulumiApp.js +282 -0
  229. package/pulumi/apps/api/createApiPulumiApp.js.map +1 -0
  230. package/pulumi/apps/api/handleGuardDutyEvents.d.ts +2 -0
  231. package/pulumi/apps/api/handleGuardDutyEvents.js +55 -0
  232. package/pulumi/apps/api/handleGuardDutyEvents.js.map +1 -0
  233. package/pulumi/apps/api/index.d.ts +9 -0
  234. package/pulumi/apps/api/index.js +11 -0
  235. package/pulumi/apps/api/index.js.map +1 -0
  236. package/pulumi/apps/awsUtils.d.ts +5 -0
  237. package/pulumi/apps/awsUtils.js +34 -0
  238. package/pulumi/apps/awsUtils.js.map +1 -0
  239. package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.d.ts +11 -0
  240. package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js +44 -0
  241. package/pulumi/apps/blueGreen/BlueGreenRouterApiGateway.js.map +1 -0
  242. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.d.ts +17 -0
  243. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js +100 -0
  244. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFront.js.map +1 -0
  245. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.d.ts +10 -0
  246. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js +20 -0
  247. package/pulumi/apps/blueGreen/BlueGreenRouterCloudFrontStore.js.map +1 -0
  248. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.d.ts +7 -0
  249. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js +15 -0
  250. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontDefaultCacheBehaviorPolicies.js.map +1 -0
  251. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.d.ts +14 -0
  252. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js +23 -0
  253. package/pulumi/apps/blueGreen/cloudfront/createCloudFrontFunctionDomainMap.js.map +1 -0
  254. package/pulumi/apps/blueGreen/cloudfront/createOriginId.d.ts +11 -0
  255. package/pulumi/apps/blueGreen/cloudfront/createOriginId.js +10 -0
  256. package/pulumi/apps/blueGreen/cloudfront/createOriginId.js.map +1 -0
  257. package/pulumi/apps/blueGreen/constants.d.ts +3 -0
  258. package/pulumi/apps/blueGreen/constants.js +5 -0
  259. package/pulumi/apps/blueGreen/constants.js.map +1 -0
  260. package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.d.ts +15 -0
  261. package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js +122 -0
  262. package/pulumi/apps/blueGreen/createBlueGreenPulumiApp.js.map +1 -0
  263. package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.d.ts +9 -0
  264. package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js +30 -0
  265. package/pulumi/apps/blueGreen/domains/attachDomainsToOutput.js.map +1 -0
  266. package/pulumi/apps/blueGreen/domains/convertApplicationDomains.d.ts +6 -0
  267. package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js +23 -0
  268. package/pulumi/apps/blueGreen/domains/convertApplicationDomains.js.map +1 -0
  269. package/pulumi/apps/blueGreen/domains/getApplicationDomains.d.ts +18 -0
  270. package/pulumi/apps/blueGreen/domains/getApplicationDomains.js +73 -0
  271. package/pulumi/apps/blueGreen/domains/getApplicationDomains.js.map +1 -0
  272. package/pulumi/apps/blueGreen/domains/resolveDomains.d.ts +6 -0
  273. package/pulumi/apps/blueGreen/domains/resolveDomains.js +41 -0
  274. package/pulumi/apps/blueGreen/domains/resolveDomains.js.map +1 -0
  275. package/pulumi/apps/blueGreen/functions/buildHandlerFunction.d.ts +15 -0
  276. package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js +18 -0
  277. package/pulumi/apps/blueGreen/functions/buildHandlerFunction.js.map +1 -0
  278. package/pulumi/apps/blueGreen/functions/handler.d.ts +1 -0
  279. package/pulumi/apps/blueGreen/functions/handler.js +60 -0
  280. package/pulumi/apps/blueGreen/functions/handler.js.map +1 -0
  281. package/pulumi/apps/blueGreen/types.d.ts +77 -0
  282. package/pulumi/apps/blueGreen/types.js +3 -0
  283. package/pulumi/apps/blueGreen/types.js.map +1 -0
  284. package/pulumi/apps/blueGreen/validation/validateDeployments.d.ts +2 -0
  285. package/pulumi/apps/blueGreen/validation/validateDeployments.js +33 -0
  286. package/pulumi/apps/blueGreen/validation/validateDeployments.js.map +1 -0
  287. package/pulumi/apps/common/CoreOutput.d.ts +38 -0
  288. package/pulumi/apps/common/CoreOutput.js +46 -0
  289. package/pulumi/apps/common/CoreOutput.js.map +1 -0
  290. package/pulumi/apps/common/VpcConfig.d.ts +8 -0
  291. package/pulumi/apps/common/VpcConfig.js +25 -0
  292. package/pulumi/apps/common/VpcConfig.js.map +1 -0
  293. package/pulumi/apps/common/index.d.ts +2 -0
  294. package/pulumi/apps/common/index.js +4 -0
  295. package/pulumi/apps/common/index.js.map +1 -0
  296. package/pulumi/apps/core/CoreAuditLogsDynamo.d.ts +5 -0
  297. package/pulumi/apps/core/CoreAuditLogsDynamo.js +138 -0
  298. package/pulumi/apps/core/CoreAuditLogsDynamo.js.map +1 -0
  299. package/pulumi/apps/core/CoreCognito.d.ts +10 -0
  300. package/pulumi/apps/core/CoreCognito.js +110 -0
  301. package/pulumi/apps/core/CoreCognito.js.map +1 -0
  302. package/pulumi/apps/core/CoreDynamo.d.ts +5 -0
  303. package/pulumi/apps/core/CoreDynamo.js +61 -0
  304. package/pulumi/apps/core/CoreDynamo.js.map +1 -0
  305. package/pulumi/apps/core/CoreEventBus.d.ts +1 -0
  306. package/pulumi/apps/core/CoreEventBus.js +13 -0
  307. package/pulumi/apps/core/CoreEventBus.js.map +1 -0
  308. package/pulumi/apps/core/CoreFileManager.d.ts +8 -0
  309. package/pulumi/apps/core/CoreFileManager.js +44 -0
  310. package/pulumi/apps/core/CoreFileManager.js.map +1 -0
  311. package/pulumi/apps/core/CoreOpenSearch.d.ts +16 -0
  312. package/pulumi/apps/core/CoreOpenSearch.js +299 -0
  313. package/pulumi/apps/core/CoreOpenSearch.js.map +1 -0
  314. package/pulumi/apps/core/CoreVpc.d.ts +13 -0
  315. package/pulumi/apps/core/CoreVpc.js +160 -0
  316. package/pulumi/apps/core/CoreVpc.js.map +1 -0
  317. package/pulumi/apps/core/LogDynamo.d.ts +5 -0
  318. package/pulumi/apps/core/LogDynamo.js +94 -0
  319. package/pulumi/apps/core/LogDynamo.js.map +1 -0
  320. package/pulumi/apps/core/WatchCommand.d.ts +7 -0
  321. package/pulumi/apps/core/WatchCommand.js +105 -0
  322. package/pulumi/apps/core/WatchCommand.js.map +1 -0
  323. package/pulumi/apps/core/cognitoIdentityProviders/amazon.d.ts +9 -0
  324. package/pulumi/apps/core/cognitoIdentityProviders/amazon.js +24 -0
  325. package/pulumi/apps/core/cognitoIdentityProviders/amazon.js.map +1 -0
  326. package/pulumi/apps/core/cognitoIdentityProviders/apple.d.ts +4 -0
  327. package/pulumi/apps/core/cognitoIdentityProviders/apple.js +19 -0
  328. package/pulumi/apps/core/cognitoIdentityProviders/apple.js.map +1 -0
  329. package/pulumi/apps/core/cognitoIdentityProviders/configure.d.ts +28 -0
  330. package/pulumi/apps/core/cognitoIdentityProviders/configure.js +57 -0
  331. package/pulumi/apps/core/cognitoIdentityProviders/configure.js.map +1 -0
  332. package/pulumi/apps/core/cognitoIdentityProviders/facebook.d.ts +4 -0
  333. package/pulumi/apps/core/cognitoIdentityProviders/facebook.js +19 -0
  334. package/pulumi/apps/core/cognitoIdentityProviders/facebook.js.map +1 -0
  335. package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.d.ts +3 -0
  336. package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js +17 -0
  337. package/pulumi/apps/core/cognitoIdentityProviders/getIdpConfig.js.map +1 -0
  338. package/pulumi/apps/core/cognitoIdentityProviders/google.d.ts +4 -0
  339. package/pulumi/apps/core/cognitoIdentityProviders/google.js +19 -0
  340. package/pulumi/apps/core/cognitoIdentityProviders/google.js.map +1 -0
  341. package/pulumi/apps/core/cognitoIdentityProviders/index.d.ts +1 -0
  342. package/pulumi/apps/core/cognitoIdentityProviders/index.js +3 -0
  343. package/pulumi/apps/core/cognitoIdentityProviders/index.js.map +1 -0
  344. package/pulumi/apps/core/cognitoIdentityProviders/oidc.d.ts +4 -0
  345. package/pulumi/apps/core/cognitoIdentityProviders/oidc.js +20 -0
  346. package/pulumi/apps/core/cognitoIdentityProviders/oidc.js.map +1 -0
  347. package/pulumi/apps/core/configureS3BucketMalwareProtection.d.ts +2 -0
  348. package/pulumi/apps/core/configureS3BucketMalwareProtection.js +195 -0
  349. package/pulumi/apps/core/configureS3BucketMalwareProtection.js.map +1 -0
  350. package/pulumi/apps/core/createCorePulumiApp.d.ts +32 -0
  351. package/pulumi/apps/core/createCorePulumiApp.js +296 -0
  352. package/pulumi/apps/core/createCorePulumiApp.js.map +1 -0
  353. package/pulumi/apps/core/index.d.ts +8 -0
  354. package/pulumi/apps/core/index.js +10 -0
  355. package/pulumi/apps/core/index.js.map +1 -0
  356. package/pulumi/apps/core/webinyWatchCommand/handler.d.ts +28 -0
  357. package/pulumi/apps/core/webinyWatchCommand/handler.js +37 -0
  358. package/pulumi/apps/core/webinyWatchCommand/handler.js.map +1 -0
  359. package/pulumi/apps/createAppBucket.d.ts +13 -0
  360. package/pulumi/apps/createAppBucket.js +112 -0
  361. package/pulumi/apps/createAppBucket.js.map +1 -0
  362. package/pulumi/apps/customDomain.d.ts +9 -0
  363. package/pulumi/apps/customDomain.js +9 -0
  364. package/pulumi/apps/customDomain.js.map +1 -0
  365. package/pulumi/apps/extensions/getAwsTagsFromExtension.d.ts +2 -0
  366. package/pulumi/apps/extensions/getAwsTagsFromExtension.js +10 -0
  367. package/pulumi/apps/extensions/getAwsTagsFromExtension.js.map +1 -0
  368. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.d.ts +23 -0
  369. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js +10 -0
  370. package/pulumi/apps/extensions/getBgDeploymentsConfigFromExtension.js.map +1 -0
  371. package/pulumi/apps/extensions/getOsConfigFromExtension.d.ts +7 -0
  372. package/pulumi/apps/extensions/getOsConfigFromExtension.js +33 -0
  373. package/pulumi/apps/extensions/getOsConfigFromExtension.js.map +1 -0
  374. package/pulumi/apps/extensions/getVpcConfigFromExtension.d.ts +15 -0
  375. package/pulumi/apps/extensions/getVpcConfigFromExtension.js +29 -0
  376. package/pulumi/apps/extensions/getVpcConfigFromExtension.js.map +1 -0
  377. package/pulumi/apps/index.d.ts +6 -0
  378. package/pulumi/apps/index.js +8 -0
  379. package/pulumi/apps/index.js.map +1 -0
  380. package/pulumi/apps/lambdaUtils.d.ts +11 -0
  381. package/pulumi/apps/lambdaUtils.js +70 -0
  382. package/pulumi/apps/lambdaUtils.js.map +1 -0
  383. package/pulumi/apps/react/createReactPulumiApp.d.ts +30 -0
  384. package/pulumi/apps/react/createReactPulumiApp.js +150 -0
  385. package/pulumi/apps/react/createReactPulumiApp.js.map +1 -0
  386. package/pulumi/apps/react/index.d.ts +1 -0
  387. package/pulumi/apps/react/index.js +3 -0
  388. package/pulumi/apps/react/index.js.map +1 -0
  389. package/pulumi/apps/syncSystem/SyncSystemDynamo.d.ts +5 -0
  390. package/pulumi/apps/syncSystem/SyncSystemDynamo.js +56 -0
  391. package/pulumi/apps/syncSystem/SyncSystemDynamo.js.map +1 -0
  392. package/pulumi/apps/syncSystem/SyncSystemDynamoDb.d.ts +3 -0
  393. package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js +52 -0
  394. package/pulumi/apps/syncSystem/SyncSystemDynamoDb.js.map +1 -0
  395. package/pulumi/apps/syncSystem/SyncSystemEventBus.d.ts +6 -0
  396. package/pulumi/apps/syncSystem/SyncSystemEventBus.js +77 -0
  397. package/pulumi/apps/syncSystem/SyncSystemEventBus.js.map +1 -0
  398. package/pulumi/apps/syncSystem/SyncSystemLambda.d.ts +11 -0
  399. package/pulumi/apps/syncSystem/SyncSystemLambda.js +99 -0
  400. package/pulumi/apps/syncSystem/SyncSystemLambda.js.map +1 -0
  401. package/pulumi/apps/syncSystem/SyncSystemOutput.d.ts +3 -0
  402. package/pulumi/apps/syncSystem/SyncSystemOutput.js +18 -0
  403. package/pulumi/apps/syncSystem/SyncSystemOutput.js.map +1 -0
  404. package/pulumi/apps/syncSystem/SyncSystemResolverLambda.d.ts +8 -0
  405. package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js +73 -0
  406. package/pulumi/apps/syncSystem/SyncSystemResolverLambda.js.map +1 -0
  407. package/pulumi/apps/syncSystem/SyncSystemSQS.d.ts +3 -0
  408. package/pulumi/apps/syncSystem/SyncSystemSQS.js +54 -0
  409. package/pulumi/apps/syncSystem/SyncSystemSQS.js.map +1 -0
  410. package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.d.ts +7 -0
  411. package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js +52 -0
  412. package/pulumi/apps/syncSystem/SyncSystemWorkerLambda.js.map +1 -0
  413. package/pulumi/apps/syncSystem/addTableItems.d.ts +8 -0
  414. package/pulumi/apps/syncSystem/addTableItems.js +51 -0
  415. package/pulumi/apps/syncSystem/addTableItems.js.map +1 -0
  416. package/pulumi/apps/syncSystem/api/addServiceManifest.d.ts +8 -0
  417. package/pulumi/apps/syncSystem/api/addServiceManifest.js +18 -0
  418. package/pulumi/apps/syncSystem/api/addServiceManifest.js.map +1 -0
  419. package/pulumi/apps/syncSystem/api/attachCognitoPermissions.d.ts +14 -0
  420. package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js +59 -0
  421. package/pulumi/apps/syncSystem/api/attachCognitoPermissions.js.map +1 -0
  422. package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.d.ts +13 -0
  423. package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js +44 -0
  424. package/pulumi/apps/syncSystem/api/attachDynamoDbPermissions.js.map +1 -0
  425. package/pulumi/apps/syncSystem/api/attachEventBusPermissions.d.ts +17 -0
  426. package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js +48 -0
  427. package/pulumi/apps/syncSystem/api/attachEventBusPermissions.js.map +1 -0
  428. package/pulumi/apps/syncSystem/api/attachS3Permissions.d.ts +14 -0
  429. package/pulumi/apps/syncSystem/api/attachS3Permissions.js +51 -0
  430. package/pulumi/apps/syncSystem/api/attachS3Permissions.js.map +1 -0
  431. package/pulumi/apps/syncSystem/api/index.d.ts +8 -0
  432. package/pulumi/apps/syncSystem/api/index.js +55 -0
  433. package/pulumi/apps/syncSystem/api/index.js.map +1 -0
  434. package/pulumi/apps/syncSystem/constants.d.ts +1 -0
  435. package/pulumi/apps/syncSystem/constants.js +3 -0
  436. package/pulumi/apps/syncSystem/constants.js.map +1 -0
  437. package/pulumi/apps/syncSystem/createSyncResourceName.d.ts +4 -0
  438. package/pulumi/apps/syncSystem/createSyncResourceName.js +10 -0
  439. package/pulumi/apps/syncSystem/createSyncResourceName.js.map +1 -0
  440. package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.d.ts +26 -0
  441. package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js +181 -0
  442. package/pulumi/apps/syncSystem/createSyncSystemPulumiApp.js.map +1 -0
  443. package/pulumi/apps/syncSystem/customApp.d.ts +6 -0
  444. package/pulumi/apps/syncSystem/customApp.js +19 -0
  445. package/pulumi/apps/syncSystem/customApp.js.map +1 -0
  446. package/pulumi/apps/syncSystem/getSyncSystemOutput.d.ts +3 -0
  447. package/pulumi/apps/syncSystem/getSyncSystemOutput.js +10 -0
  448. package/pulumi/apps/syncSystem/getSyncSystemOutput.js.map +1 -0
  449. package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.d.ts +7 -0
  450. package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js +48 -0
  451. package/pulumi/apps/syncSystem/lambda/createSyncSystemResolverLambdaPolicy.js.map +1 -0
  452. package/pulumi/apps/syncSystem/types.d.ts +56 -0
  453. package/pulumi/apps/syncSystem/types.js +3 -0
  454. package/pulumi/apps/syncSystem/types.js.map +1 -0
  455. package/pulumi/constants.d.ts +1 -0
  456. package/pulumi/constants.js +4 -0
  457. package/pulumi/constants.js.map +1 -0
  458. package/pulumi/env/awsRegion.d.ts +1 -0
  459. package/pulumi/env/awsRegion.js +6 -0
  460. package/pulumi/env/awsRegion.js.map +1 -0
  461. package/pulumi/env/base.d.ts +15 -0
  462. package/pulumi/env/base.js +29 -0
  463. package/pulumi/env/base.js.map +1 -0
  464. package/pulumi/env/env.d.ts +1 -0
  465. package/pulumi/env/env.js +6 -0
  466. package/pulumi/env/env.js.map +1 -0
  467. package/pulumi/env/projectName.d.ts +1 -0
  468. package/pulumi/env/projectName.js +6 -0
  469. package/pulumi/env/projectName.js.map +1 -0
  470. package/pulumi/env/variant.d.ts +1 -0
  471. package/pulumi/env/variant.js +7 -0
  472. package/pulumi/env/variant.js.map +1 -0
  473. package/pulumi/extensions/AdminCustomDomains.d.ts +14 -0
  474. package/pulumi/extensions/AdminCustomDomains.js +16 -0
  475. package/pulumi/extensions/AdminCustomDomains.js.map +1 -0
  476. package/pulumi/extensions/AwsTags.d.ts +8 -0
  477. package/pulumi/extensions/AwsTags.js +15 -0
  478. package/pulumi/extensions/AwsTags.js.map +1 -0
  479. package/pulumi/extensions/BlueGreenDeployments.d.ts +134 -0
  480. package/pulumi/extensions/BlueGreenDeployments.js +34 -0
  481. package/pulumi/extensions/BlueGreenDeployments.js.map +1 -0
  482. package/pulumi/extensions/OpenSearch.d.ts +17 -0
  483. package/pulumi/extensions/OpenSearch.js +17 -0
  484. package/pulumi/extensions/OpenSearch.js.map +1 -0
  485. package/pulumi/extensions/Vpc.d.ts +71 -0
  486. package/pulumi/extensions/Vpc.js +25 -0
  487. package/pulumi/extensions/Vpc.js.map +1 -0
  488. package/pulumi/extensions/index.d.ts +220 -0
  489. package/pulumi/extensions/index.js +13 -0
  490. package/pulumi/extensions/index.js.map +1 -0
  491. package/pulumi/index.d.ts +3 -0
  492. package/pulumi/index.js +5 -0
  493. package/pulumi/index.js.map +1 -0
  494. package/pulumi/types.d.ts +44 -0
  495. package/pulumi/types.js +3 -0
  496. package/pulumi/types.js.map +1 -0
  497. package/pulumi/utils/addDomainsUrlsOutputs.d.ts +18 -0
  498. package/pulumi/utils/addDomainsUrlsOutputs.js +40 -0
  499. package/pulumi/utils/addDomainsUrlsOutputs.js.map +1 -0
  500. package/pulumi/utils/addServiceManifestTableItem.d.ts +12 -0
  501. package/pulumi/utils/addServiceManifestTableItem.js +28 -0
  502. package/pulumi/utils/addServiceManifestTableItem.js.map +1 -0
  503. package/pulumi/utils/crawlDirectory.d.ts +1 -0
  504. package/pulumi/utils/crawlDirectory.js +19 -0
  505. package/pulumi/utils/crawlDirectory.js.map +1 -0
  506. package/pulumi/utils/createAssetArchive.d.ts +2 -0
  507. package/pulumi/utils/createAssetArchive.js +8 -0
  508. package/pulumi/utils/createAssetArchive.js.map +1 -0
  509. package/pulumi/utils/dynamodb.d.ts +14 -0
  510. package/pulumi/utils/dynamodb.js +29 -0
  511. package/pulumi/utils/dynamodb.js.map +1 -0
  512. package/pulumi/utils/getPresignedPost.d.ts +11 -0
  513. package/pulumi/utils/getPresignedPost.js +34 -0
  514. package/pulumi/utils/getPresignedPost.js.map +1 -0
  515. package/pulumi/utils/index.d.ts +5 -0
  516. package/pulumi/utils/index.js +7 -0
  517. package/pulumi/utils/index.js.map +1 -0
  518. package/pulumi/utils/lambdaEnvVariables.d.ts +20 -0
  519. package/pulumi/utils/lambdaEnvVariables.js +62 -0
  520. package/pulumi/utils/lambdaEnvVariables.js.map +1 -0
  521. package/pulumi/utils/tagResources.d.ts +5 -0
  522. package/pulumi/utils/tagResources.js +33 -0
  523. package/pulumi/utils/tagResources.js.map +1 -0
  524. package/pulumi/utils/uploadFolderToS3.d.ts +26 -0
  525. package/pulumi/utils/uploadFolderToS3.js +147 -0
  526. package/pulumi/utils/uploadFolderToS3.js.map +1 -0
  527. package/pulumi/utils/withServiceManifest.d.ts +14 -0
  528. package/pulumi/utils/withServiceManifest.js +45 -0
  529. package/pulumi/utils/withServiceManifest.js.map +1 -0
  530. package/security.d.ts +356 -0
  531. package/security.js +53 -0
  532. package/security.js.map +1 -0
  533. package/services/AdminStackOutputService.d.ts +10 -0
  534. package/services/AdminStackOutputService.js +16 -0
  535. package/services/AdminStackOutputService.js.map +1 -0
  536. package/services/ApiStackOutputService.d.ts +10 -0
  537. package/services/ApiStackOutputService.js +16 -0
  538. package/services/ApiStackOutputService.js.map +1 -0
  539. package/services/CoreStackOutputService.d.ts +10 -0
  540. package/services/CoreStackOutputService.js +16 -0
  541. package/services/CoreStackOutputService.js.map +1 -0
  542. package/utils/getTemplatesFolderPath.d.ts +1 -0
  543. package/utils/getTemplatesFolderPath.js +16 -0
  544. package/utils/getTemplatesFolderPath.js.map +1 -0
  545. package/utils/index.d.ts +1 -0
  546. package/utils/index.js +3 -0
  547. package/utils/index.js.map +1 -0
package/cli.js ADDED
@@ -0,0 +1,6 @@
1
+ import { CliCommand } from "@webiny/cli-core/extensions/index.js";
2
+ export const Cli = {
3
+ Command: CliCommand
4
+ };
5
+
6
+ //# sourceMappingURL=cli.js.map
package/cli.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CliCommand","Cli","Command"],"sources":["cli.ts"],"sourcesContent":["import { CliCommand } from \"@webiny/cli-core/extensions/index.js\";\n\nexport const Cli = {\n Command: CliCommand\n};\n"],"mappings":"AAAA,SAASA,UAAU,QAAQ,sCAAsC;AAEjE,OAAO,MAAMC,GAAG,GAAG;EACfC,OAAO,EAAEF;AACb,CAAC","ignoreList":[]}
@@ -0,0 +1,7 @@
1
+ export { Api } from "../api.js";
2
+ export { Admin } from "../admin.js";
3
+ export { Cli } from "../cli.js";
4
+ export { Infra } from "../infra.js";
5
+ export { Project } from "../project.js";
6
+ export { Security } from "../security.js";
7
+ export { ApiStackOutputService, CoreStackOutputService, ApiGqlClient, AdminStackOutputService, InvokeLambdaFunction } from "../abstractions/index.js";
@@ -0,0 +1,9 @@
1
+ export { Api } from "../api.js";
2
+ export { Admin } from "../admin.js";
3
+ export { Cli } from "../cli.js";
4
+ export { Infra } from "../infra.js";
5
+ export { Project } from "../project.js";
6
+ export { Security } from "../security.js";
7
+ export { ApiStackOutputService, CoreStackOutputService, ApiGqlClient, AdminStackOutputService, InvokeLambdaFunction } from "../abstractions/index.js";
8
+
9
+ //# sourceMappingURL=extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Api","Admin","Cli","Infra","Project","Security","ApiStackOutputService","CoreStackOutputService","ApiGqlClient","AdminStackOutputService","InvokeLambdaFunction"],"sources":["extensions.ts"],"sourcesContent":["export { Api } from \"~/api.js\";\nexport { Admin } from \"~/admin.js\";\nexport { Cli } from \"~/cli.js\";\nexport { Infra } from \"~/infra.js\";\nexport { Project } from \"~/project.js\";\nexport { Security } from \"~/security.js\";\nexport {\n ApiStackOutputService,\n CoreStackOutputService,\n ApiGqlClient,\n AdminStackOutputService,\n InvokeLambdaFunction\n} from \"~/abstractions/index.js\";\n"],"mappings":"AAAA,SAASA,GAAG;AACZ,SAASC,KAAK;AACd,SAASC,GAAG;AACZ,SAASC,KAAK;AACd,SAASC,OAAO;AAChB,SAASC,QAAQ;AACjB,SACIC,qBAAqB,EACrBC,sBAAsB,EACtBC,YAAY,EACZC,uBAAuB,EACvBC,oBAAoB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { AdminStackOutputService as GetAdminStackOutput } from "../../abstractions/services/AdminStackOutputService.js";
@@ -0,0 +1,3 @@
1
+ export { AdminStackOutputService as GetAdminStackOutput } from "../../abstractions/services/AdminStackOutputService.js";
2
+
3
+ //# sourceMappingURL=admin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AdminStackOutputService","GetAdminStackOutput"],"sources":["admin.ts"],"sourcesContent":["export { AdminStackOutputService as GetAdminStackOutput } from \"~/abstractions/services/AdminStackOutputService.js\";\n"],"mappings":"AAAA,SAASA,uBAAuB,IAAIC,mBAAmB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { ApiStackOutputService as GetApiStackOutput } from "../../abstractions/services/ApiStackOutputService.js";
@@ -0,0 +1,3 @@
1
+ export { ApiStackOutputService as GetApiStackOutput } from "../../abstractions/services/ApiStackOutputService.js";
2
+
3
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ApiStackOutputService","GetApiStackOutput"],"sources":["api.ts"],"sourcesContent":["export { ApiStackOutputService as GetApiStackOutput } from \"~/abstractions/services/ApiStackOutputService.js\";\n"],"mappings":"AAAA,SAASA,qBAAqB,IAAIC,iBAAiB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { CoreStackOutputService as GetCoreStackOutput } from "../../abstractions/services/CoreStackOutputService.js";
@@ -0,0 +1,3 @@
1
+ export { CoreStackOutputService as GetCoreStackOutput } from "../../abstractions/services/CoreStackOutputService.js";
2
+
3
+ //# sourceMappingURL=core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CoreStackOutputService","GetCoreStackOutput"],"sources":["core.ts"],"sourcesContent":["export { CoreStackOutputService as GetCoreStackOutput } from \"~/abstractions/services/CoreStackOutputService.js\";\n"],"mappings":"AAAA,SAASA,sBAAsB,IAAIC,kBAAkB","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ export interface AwsDefaultRegionProps {
3
+ name: string;
4
+ }
5
+ export declare const AwsDefaultRegion: (props: AwsDefaultRegionProps) => React.JSX.Element;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { EnvVar } from "@webiny/project/extensions/index.js";
3
+ export const AwsDefaultRegion = props => {
4
+ return /*#__PURE__*/React.createElement(EnvVar, {
5
+ varName: "AWS_REGION",
6
+ value: props.name
7
+ });
8
+ };
9
+
10
+ //# sourceMappingURL=AwsDefaultRegion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","EnvVar","AwsDefaultRegion","props","createElement","varName","value","name"],"sources":["AwsDefaultRegion.tsx"],"sourcesContent":["import React from \"react\";\nimport { EnvVar } from \"@webiny/project/extensions/index.js\";\n\nexport interface AwsDefaultRegionProps {\n name: string;\n}\n\nexport const AwsDefaultRegion = (props: AwsDefaultRegionProps) => {\n return <EnvVar varName=\"AWS_REGION\" value={props.name} />;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,QAAQ,qCAAqC;AAM5D,OAAO,MAAMC,gBAAgB,GAAIC,KAA4B,IAAK;EAC9D,oBAAOH,KAAA,CAAAI,aAAA,CAACH,MAAM;IAACI,OAAO,EAAC,YAAY;IAACC,KAAK,EAAEH,KAAK,CAACI;EAAK,CAAE,CAAC;AAC7D,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { CoreBeforeDeploy, UiService } from "@webiny/project/abstractions/index.js";
2
+ declare class EnsureOsServiceRoleBeforeCoreDeployImpl implements CoreBeforeDeploy.Interface {
3
+ private uiService;
4
+ constructor(uiService: UiService.Interface);
5
+ execute(): Promise<void>;
6
+ }
7
+ export declare const EnsureOsServiceRoleBeforeCoreDeploy: typeof EnsureOsServiceRoleBeforeCoreDeployImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/project/abstractions/index.js").ICoreBeforeDeploy>;
9
+ };
10
+ export {};
@@ -0,0 +1,40 @@
1
+ import { CoreBeforeDeploy, UiService } from "@webiny/project/abstractions/index.js";
2
+ import { GracefulError } from "@webiny/project";
3
+ import { IAM } from "@webiny/aws-sdk/client-iam/index.js";
4
+ const NO_SUCH_ENTITY_IAM_ERROR = "NoSuchEntity";
5
+ class EnsureOsServiceRoleBeforeCoreDeployImpl {
6
+ constructor(uiService) {
7
+ this.uiService = uiService;
8
+ }
9
+ async execute() {
10
+ const iam = new IAM();
11
+ try {
12
+ await iam.getRole({
13
+ RoleName: "AWSServiceRoleForAmazonOpenSearchService"
14
+ });
15
+ // Role exists, proceed silently
16
+ } catch (err) {
17
+ // We've seen cases where the `iam.getRole` call fails because of an issue
18
+ // other than not being able to retrieve the service role.
19
+ if (err.Error?.Code !== NO_SUCH_ENTITY_IAM_ERROR) {
20
+ throw GracefulError.from(new Error("Failed to retrieve Amazon OpenSearch service role."), ["An unexpected error occurred while checking for the %s service role:", "%s", "", "Please check your AWS IAM permissions and try again."].join("\n"), "AWSServiceRoleForAmazonOpenSearchService", err.message);
21
+ }
22
+
23
+ // Role doesn't exist, try to create it
24
+ try {
25
+ await iam.createServiceLinkedRole({
26
+ AWSServiceName: "opensearchservice.amazonaws.com"
27
+ });
28
+ // Created successfully, proceed silently
29
+ } catch (err) {
30
+ throw GracefulError.from(new Error("Failed to create Amazon OpenSearch service role."), ["Could not create the required %s service role:", "%s", "", "Your options:", "• Ensure your AWS account has the necessary IAM permissions to create service-linked roles.", "• Manually create the service role using the AWS console or CLI.", "• Contact your AWS administrator for assistance."].join("\n"), "AWSServiceRoleForAmazonOpenSearchService", err.message);
31
+ }
32
+ }
33
+ }
34
+ }
35
+ export const EnsureOsServiceRoleBeforeCoreDeploy = CoreBeforeDeploy.createImplementation({
36
+ implementation: EnsureOsServiceRoleBeforeCoreDeployImpl,
37
+ dependencies: [UiService]
38
+ });
39
+
40
+ //# sourceMappingURL=EnsureOsServiceRoleBeforeCoreDeploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CoreBeforeDeploy","UiService","GracefulError","IAM","NO_SUCH_ENTITY_IAM_ERROR","EnsureOsServiceRoleBeforeCoreDeployImpl","constructor","uiService","execute","iam","getRole","RoleName","err","Error","Code","from","join","message","createServiceLinkedRole","AWSServiceName","EnsureOsServiceRoleBeforeCoreDeploy","createImplementation","implementation","dependencies"],"sources":["EnsureOsServiceRoleBeforeCoreDeploy.ts"],"sourcesContent":["import { CoreBeforeDeploy, UiService } from \"@webiny/project/abstractions/index.js\";\nimport { GracefulError } from \"@webiny/project\";\nimport { IAM } from \"@webiny/aws-sdk/client-iam/index.js\";\n\nconst NO_SUCH_ENTITY_IAM_ERROR = \"NoSuchEntity\";\n\nclass EnsureOsServiceRoleBeforeCoreDeployImpl implements CoreBeforeDeploy.Interface {\n constructor(private uiService: UiService.Interface) {}\n\n async execute() {\n const iam = new IAM();\n try {\n await iam.getRole({ RoleName: \"AWSServiceRoleForAmazonOpenSearchService\" });\n // Role exists, proceed silently\n } catch (err) {\n // We've seen cases where the `iam.getRole` call fails because of an issue\n // other than not being able to retrieve the service role.\n if (err.Error?.Code !== NO_SUCH_ENTITY_IAM_ERROR) {\n throw GracefulError.from(\n new Error(\"Failed to retrieve Amazon OpenSearch service role.\"),\n [\n \"An unexpected error occurred while checking for the %s service role:\",\n \"%s\",\n \"\",\n \"Please check your AWS IAM permissions and try again.\"\n ].join(\"\\n\"),\n \"AWSServiceRoleForAmazonOpenSearchService\",\n err.message\n );\n }\n\n // Role doesn't exist, try to create it\n try {\n await iam.createServiceLinkedRole({\n AWSServiceName: \"opensearchservice.amazonaws.com\"\n });\n // Created successfully, proceed silently\n } catch (err) {\n throw GracefulError.from(\n new Error(\"Failed to create Amazon OpenSearch service role.\"),\n [\n \"Could not create the required %s service role:\",\n \"%s\",\n \"\",\n \"Your options:\",\n \"• Ensure your AWS account has the necessary IAM permissions to create service-linked roles.\",\n \"• Manually create the service role using the AWS console or CLI.\",\n \"• Contact your AWS administrator for assistance.\"\n ].join(\"\\n\"),\n \"AWSServiceRoleForAmazonOpenSearchService\",\n err.message\n );\n }\n }\n }\n}\n\nexport const EnsureOsServiceRoleBeforeCoreDeploy = CoreBeforeDeploy.createImplementation({\n implementation: EnsureOsServiceRoleBeforeCoreDeployImpl,\n dependencies: [UiService]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB,EAAEC,SAAS,QAAQ,uCAAuC;AACnF,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,GAAG,QAAQ,qCAAqC;AAEzD,MAAMC,wBAAwB,GAAG,cAAc;AAE/C,MAAMC,uCAAuC,CAAuC;EAChFC,WAAWA,CAASC,SAA8B,EAAE;IAAA,KAAhCA,SAA8B,GAA9BA,SAA8B;EAAG;EAErD,MAAMC,OAAOA,CAAA,EAAG;IACZ,MAAMC,GAAG,GAAG,IAAIN,GAAG,CAAC,CAAC;IACrB,IAAI;MACA,MAAMM,GAAG,CAACC,OAAO,CAAC;QAAEC,QAAQ,EAAE;MAA2C,CAAC,CAAC;MAC3E;IACJ,CAAC,CAAC,OAAOC,GAAG,EAAE;MACV;MACA;MACA,IAAIA,GAAG,CAACC,KAAK,EAAEC,IAAI,KAAKV,wBAAwB,EAAE;QAC9C,MAAMF,aAAa,CAACa,IAAI,CACpB,IAAIF,KAAK,CAAC,oDAAoD,CAAC,EAC/D,CACI,sEAAsE,EACtE,IAAI,EACJ,EAAE,EACF,sDAAsD,CACzD,CAACG,IAAI,CAAC,IAAI,CAAC,EACZ,0CAA0C,EAC1CJ,GAAG,CAACK,OACR,CAAC;MACL;;MAEA;MACA,IAAI;QACA,MAAMR,GAAG,CAACS,uBAAuB,CAAC;UAC9BC,cAAc,EAAE;QACpB,CAAC,CAAC;QACF;MACJ,CAAC,CAAC,OAAOP,GAAG,EAAE;QACV,MAAMV,aAAa,CAACa,IAAI,CACpB,IAAIF,KAAK,CAAC,kDAAkD,CAAC,EAC7D,CACI,gDAAgD,EAChD,IAAI,EACJ,EAAE,EACF,eAAe,EACf,6FAA6F,EAC7F,kEAAkE,EAClE,kDAAkD,CACrD,CAACG,IAAI,CAAC,IAAI,CAAC,EACZ,0CAA0C,EAC1CJ,GAAG,CAACK,OACR,CAAC;MACL;IACJ;EACJ;AACJ;AAEA,OAAO,MAAMG,mCAAmC,GAAGpB,gBAAgB,CAACqB,oBAAoB,CAAC;EACrFC,cAAc,EAAEjB,uCAAuC;EACvDkB,YAAY,EAAE,CAACtB,SAAS;AAC5B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import { CoreBeforeDeploy } from "@webiny/project/abstractions/index.js";
2
+ import { CoreStackOutputService } from "../../abstractions/index.js";
3
+ declare class EnsureOsWasDeployedImpl implements CoreBeforeDeploy.Interface {
4
+ private coreStackOutputService;
5
+ constructor(coreStackOutputService: CoreStackOutputService.Interface);
6
+ execute(): Promise<void>;
7
+ }
8
+ export declare const EnsureOsWasDeployed: typeof EnsureOsWasDeployedImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/project/abstractions/index.js").ICoreBeforeDeploy>;
10
+ };
11
+ export {};
@@ -0,0 +1,34 @@
1
+ import { CoreBeforeDeploy } from "@webiny/project/abstractions/index.js";
2
+ import { GracefulError } from "@webiny/project";
3
+ import { CoreStackOutputService } from "../../abstractions/index.js";
4
+ class EnsureOsWasDeployedImpl {
5
+ constructor(coreStackOutputService) {
6
+ this.coreStackOutputService = coreStackOutputService;
7
+ }
8
+ async execute() {
9
+ // Get the stack output from the core application
10
+ // CoreStackOutputService automatically uses env/variant/region from ProjectSdkParamsService
11
+ const output = await this.coreStackOutputService.execute();
12
+
13
+ // If there's no output, Core hasn't been deployed yet, so we can proceed.
14
+ if (!output?.databaseSetup) {
15
+ return;
16
+ }
17
+
18
+ // Check if `databaseSetup` matches 'ddb+os'
19
+ // If it matches, Core was deployed with OpenSearch and we can proceed.
20
+ const hasDatabaseSetup = output.databaseSetup === "ddb+os";
21
+ if (hasDatabaseSetup) {
22
+ return;
23
+ }
24
+
25
+ // Core was previously deployed without OpenSearch or with a different setup
26
+ throw GracefulError.from(new Error("Cannot deploy with OpenSearch enabled. The Core application was previously deployed with a different database setup."), ["Once a deployment method is chosen (%s or %s), you cannot switch between them.", "", "Your options:", "• If you want to use %s, you need to destroy and redeploy the entire project from scratch.", "• If you want to continue without %s, disable it in your %s config file.", "", "Learn more: https://webiny.link/deploy-diff-db-setup"].join("\n"), "DynamoDB-only", "DynamoDB+OpenSearch", "OpenSearch", "OpenSearch", "webiny.config.tsx");
27
+ }
28
+ }
29
+ export const EnsureOsWasDeployed = CoreBeforeDeploy.createImplementation({
30
+ implementation: EnsureOsWasDeployedImpl,
31
+ dependencies: [CoreStackOutputService]
32
+ });
33
+
34
+ //# sourceMappingURL=EnsureOsWasDeployed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["CoreBeforeDeploy","GracefulError","CoreStackOutputService","EnsureOsWasDeployedImpl","constructor","coreStackOutputService","execute","output","databaseSetup","hasDatabaseSetup","from","Error","join","EnsureOsWasDeployed","createImplementation","implementation","dependencies"],"sources":["EnsureOsWasDeployed.ts"],"sourcesContent":["import { CoreBeforeDeploy } from \"@webiny/project/abstractions/index.js\";\nimport { GracefulError } from \"@webiny/project\";\nimport { CoreStackOutputService } from \"../../abstractions/index.js\";\n\nclass EnsureOsWasDeployedImpl implements CoreBeforeDeploy.Interface {\n constructor(private coreStackOutputService: CoreStackOutputService.Interface) {}\n\n async execute() {\n // Get the stack output from the core application\n // CoreStackOutputService automatically uses env/variant/region from ProjectSdkParamsService\n const output = await this.coreStackOutputService.execute();\n\n // If there's no output, Core hasn't been deployed yet, so we can proceed.\n if (!output?.databaseSetup) {\n return;\n }\n\n // Check if `databaseSetup` matches 'ddb+os'\n // If it matches, Core was deployed with OpenSearch and we can proceed.\n const hasDatabaseSetup = output.databaseSetup === \"ddb+os\";\n if (hasDatabaseSetup) {\n return;\n }\n\n // Core was previously deployed without OpenSearch or with a different setup\n throw GracefulError.from(\n new Error(\n \"Cannot deploy with OpenSearch enabled. The Core application was previously deployed with a different database setup.\"\n ),\n [\n \"Once a deployment method is chosen (%s or %s), you cannot switch between them.\",\n \"\",\n \"Your options:\",\n \"• If you want to use %s, you need to destroy and redeploy the entire project from scratch.\",\n \"• If you want to continue without %s, disable it in your %s config file.\",\n \"\",\n \"Learn more: https://webiny.link/deploy-diff-db-setup\"\n ].join(\"\\n\"),\n \"DynamoDB-only\",\n \"DynamoDB+OpenSearch\",\n \"OpenSearch\",\n \"OpenSearch\",\n \"webiny.config.tsx\"\n );\n }\n}\n\nexport const EnsureOsWasDeployed = CoreBeforeDeploy.createImplementation({\n implementation: EnsureOsWasDeployedImpl,\n dependencies: [CoreStackOutputService]\n});\n"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,uCAAuC;AACxE,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,sBAAsB;AAE/B,MAAMC,uBAAuB,CAAuC;EAChEC,WAAWA,CAASC,sBAAwD,EAAE;IAAA,KAA1DA,sBAAwD,GAAxDA,sBAAwD;EAAG;EAE/E,MAAMC,OAAOA,CAAA,EAAG;IACZ;IACA;IACA,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACF,sBAAsB,CAACC,OAAO,CAAC,CAAC;;IAE1D;IACA,IAAI,CAACC,MAAM,EAAEC,aAAa,EAAE;MACxB;IACJ;;IAEA;IACA;IACA,MAAMC,gBAAgB,GAAGF,MAAM,CAACC,aAAa,KAAK,QAAQ;IAC1D,IAAIC,gBAAgB,EAAE;MAClB;IACJ;;IAEA;IACA,MAAMR,aAAa,CAACS,IAAI,CACpB,IAAIC,KAAK,CACL,sHACJ,CAAC,EACD,CACI,gFAAgF,EAChF,EAAE,EACF,eAAe,EACf,4FAA4F,EAC5F,0EAA0E,EAC1E,EAAE,EACF,sDAAsD,CACzD,CAACC,IAAI,CAAC,IAAI,CAAC,EACZ,eAAe,EACf,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,mBACJ,CAAC;EACL;AACJ;AAEA,OAAO,MAAMC,mBAAmB,GAAGb,gBAAgB,CAACc,oBAAoB,CAAC;EACrEC,cAAc,EAAEZ,uBAAuB;EACvCa,YAAY,EAAE,CAACd,sBAAsB;AACzC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { BuildAppWorkspaceService, GetApp, LoggerService } from "@webiny/project/abstractions/index.js";
2
+ declare class InjectDdbEsLambdaFnHandlerDecorator implements BuildAppWorkspaceService.Interface {
3
+ private getApp;
4
+ private logger;
5
+ private decoratee;
6
+ constructor(getApp: GetApp.Interface, logger: LoggerService.Interface, decoratee: BuildAppWorkspaceService.Interface);
7
+ execute(appName: GetApp.AppName, options: BuildAppWorkspaceService.Options): Promise<void>;
8
+ }
9
+ export declare const InjectDdbEsLambdaFnHandler: typeof InjectDdbEsLambdaFnHandlerDecorator & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/project/abstractions/services/BuildAppWorkspaceService").IBuildAppWorkspaceService>;
11
+ };
12
+ export {};
@@ -0,0 +1,31 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { BuildAppWorkspaceService, GetApp, LoggerService } from "@webiny/project/abstractions/index.js";
4
+ import { getTemplatesFolderPath } from "../../utils/index.js";
5
+ class InjectDdbEsLambdaFnHandlerDecorator {
6
+ constructor(getApp, logger, decoratee) {
7
+ this.getApp = getApp;
8
+ this.logger = logger;
9
+ this.decoratee = decoratee;
10
+ }
11
+ async execute(appName, options) {
12
+ const result = await this.decoratee.execute(appName, options);
13
+ if (appName === "core") {
14
+ const templatesFolderPath = getTemplatesFolderPath();
15
+ const app = this.getApp.execute("core");
16
+ const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();
17
+ const ddbToEsHandlerTemplateFolderPath = path.join(templatesFolderPath, "extensions", "OpenSearch", "coreDdbToEsHandler");
18
+ fs.cpSync(ddbToEsHandlerTemplateFolderPath, appWorkspaceFolderPath, {
19
+ recursive: true
20
+ });
21
+ this.logger.debug("Injected DDB to OpenSearch Lambda function handler.");
22
+ }
23
+ return result;
24
+ }
25
+ }
26
+ export const InjectDdbEsLambdaFnHandler = BuildAppWorkspaceService.createDecorator({
27
+ decorator: InjectDdbEsLambdaFnHandlerDecorator,
28
+ dependencies: [GetApp, LoggerService]
29
+ });
30
+
31
+ //# sourceMappingURL=InjectDdbEsLambdaFnHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["path","fs","BuildAppWorkspaceService","GetApp","LoggerService","getTemplatesFolderPath","InjectDdbEsLambdaFnHandlerDecorator","constructor","getApp","logger","decoratee","execute","appName","options","result","templatesFolderPath","app","appWorkspaceFolderPath","paths","workspaceFolder","toString","ddbToEsHandlerTemplateFolderPath","join","cpSync","recursive","debug","InjectDdbEsLambdaFnHandler","createDecorator","decorator","dependencies"],"sources":["InjectDdbEsLambdaFnHandler.ts"],"sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport {\n BuildAppWorkspaceService,\n GetApp,\n LoggerService\n} from \"@webiny/project/abstractions/index.js\";\nimport { getTemplatesFolderPath } from \"~/utils/index.js\";\n\nclass InjectDdbEsLambdaFnHandlerDecorator implements BuildAppWorkspaceService.Interface {\n constructor(\n private getApp: GetApp.Interface,\n private logger: LoggerService.Interface,\n private decoratee: BuildAppWorkspaceService.Interface\n ) {}\n\n async execute(appName: GetApp.AppName, options: BuildAppWorkspaceService.Options) {\n const result = await this.decoratee.execute(appName, options);\n\n if (appName === \"core\") {\n const templatesFolderPath = getTemplatesFolderPath();\n\n const app = this.getApp.execute(\"core\");\n\n const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();\n const ddbToEsHandlerTemplateFolderPath = path.join(\n templatesFolderPath,\n \"extensions\",\n \"OpenSearch\",\n \"coreDdbToEsHandler\"\n );\n\n fs.cpSync(ddbToEsHandlerTemplateFolderPath, appWorkspaceFolderPath, {\n recursive: true\n });\n\n this.logger.debug(\"Injected DDB to OpenSearch Lambda function handler.\");\n }\n\n return result;\n }\n}\n\nexport const InjectDdbEsLambdaFnHandler = BuildAppWorkspaceService.createDecorator({\n decorator: InjectDdbEsLambdaFnHandlerDecorator,\n dependencies: [GetApp, LoggerService]\n});\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,OAAOC,EAAE,MAAM,IAAI;AACnB,SACIC,wBAAwB,EACxBC,MAAM,EACNC,aAAa,QACV,uCAAuC;AAC9C,SAASC,sBAAsB;AAE/B,MAAMC,mCAAmC,CAA+C;EACpFC,WAAWA,CACCC,MAAwB,EACxBC,MAA+B,EAC/BC,SAA6C,EACvD;IAAA,KAHUF,MAAwB,GAAxBA,MAAwB;IAAA,KACxBC,MAA+B,GAA/BA,MAA+B;IAAA,KAC/BC,SAA6C,GAA7CA,SAA6C;EACtD;EAEH,MAAMC,OAAOA,CAACC,OAAuB,EAAEC,OAAyC,EAAE;IAC9E,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC;IAE7D,IAAID,OAAO,KAAK,MAAM,EAAE;MACpB,MAAMG,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;MAEpD,MAAMW,GAAG,GAAG,IAAI,CAACR,MAAM,CAACG,OAAO,CAAC,MAAM,CAAC;MAEvC,MAAMM,sBAAsB,GAAGD,GAAG,CAACE,KAAK,CAACC,eAAe,CAACC,QAAQ,CAAC,CAAC;MACnE,MAAMC,gCAAgC,GAAGrB,IAAI,CAACsB,IAAI,CAC9CP,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,oBACJ,CAAC;MAEDd,EAAE,CAACsB,MAAM,CAACF,gCAAgC,EAAEJ,sBAAsB,EAAE;QAChEO,SAAS,EAAE;MACf,CAAC,CAAC;MAEF,IAAI,CAACf,MAAM,CAACgB,KAAK,CAAC,qDAAqD,CAAC;IAC5E;IAEA,OAAOX,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMY,0BAA0B,GAAGxB,wBAAwB,CAACyB,eAAe,CAAC;EAC/EC,SAAS,EAAEtB,mCAAmC;EAC9CuB,YAAY,EAAE,CAAC1B,MAAM,EAAEC,aAAa;AACxC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { BuildAppWorkspaceService, GetApp, LoggerService } from "@webiny/project/abstractions/index.js";
2
+ declare class ReplaceApiLambdaFnHandlerDecorator implements BuildAppWorkspaceService.Interface {
3
+ private getApp;
4
+ private logger;
5
+ private decoratee;
6
+ constructor(getApp: GetApp.Interface, logger: LoggerService.Interface, decoratee: BuildAppWorkspaceService.Interface);
7
+ execute(appName: GetApp.AppName, options?: BuildAppWorkspaceService.Options): Promise<void>;
8
+ }
9
+ export declare const ReplaceApiLambdaFnHandlers: typeof ReplaceApiLambdaFnHandlerDecorator & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/project/abstractions/services/BuildAppWorkspaceService").IBuildAppWorkspaceService>;
11
+ };
12
+ export {};
@@ -0,0 +1,32 @@
1
+ import path from "path";
2
+ import fs from "fs";
3
+ import { BuildAppWorkspaceService, GetApp, LoggerService } from "@webiny/project/abstractions/index.js";
4
+ import { getTemplatesFolderPath } from "../../utils/index.js";
5
+ class ReplaceApiLambdaFnHandlerDecorator {
6
+ constructor(getApp, logger, decoratee) {
7
+ this.getApp = getApp;
8
+ this.logger = logger;
9
+ this.decoratee = decoratee;
10
+ }
11
+ async execute(appName, options = {}) {
12
+ const result = await this.decoratee.execute(appName, options);
13
+ if (appName === "api") {
14
+ const templatesFolderPath = getTemplatesFolderPath();
15
+ const app = this.getApp.execute("api");
16
+ const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();
17
+ const apiLambdaFnHandlersFolderPath = path.join(templatesFolderPath, "extensions", "OpenSearch", "api");
18
+ fs.cpSync(apiLambdaFnHandlersFolderPath, appWorkspaceFolderPath, {
19
+ recursive: true,
20
+ force: true
21
+ });
22
+ this.logger.debug("Replaced API Lambda function handlers with OpenSearch versions.");
23
+ }
24
+ return result;
25
+ }
26
+ }
27
+ export const ReplaceApiLambdaFnHandlers = BuildAppWorkspaceService.createDecorator({
28
+ decorator: ReplaceApiLambdaFnHandlerDecorator,
29
+ dependencies: [GetApp, LoggerService]
30
+ });
31
+
32
+ //# sourceMappingURL=ReplaceApiLambdaFnHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["path","fs","BuildAppWorkspaceService","GetApp","LoggerService","getTemplatesFolderPath","ReplaceApiLambdaFnHandlerDecorator","constructor","getApp","logger","decoratee","execute","appName","options","result","templatesFolderPath","app","appWorkspaceFolderPath","paths","workspaceFolder","toString","apiLambdaFnHandlersFolderPath","join","cpSync","recursive","force","debug","ReplaceApiLambdaFnHandlers","createDecorator","decorator","dependencies"],"sources":["ReplaceApiLambdaFnHandlers.ts"],"sourcesContent":["import path from \"path\";\nimport fs from \"fs\";\nimport {\n BuildAppWorkspaceService,\n GetApp,\n LoggerService\n} from \"@webiny/project/abstractions/index.js\";\nimport { getTemplatesFolderPath } from \"~/utils/index.js\";\n\nclass ReplaceApiLambdaFnHandlerDecorator implements BuildAppWorkspaceService.Interface {\n constructor(\n private getApp: GetApp.Interface,\n private logger: LoggerService.Interface,\n private decoratee: BuildAppWorkspaceService.Interface\n ) {}\n\n async execute(appName: GetApp.AppName, options: BuildAppWorkspaceService.Options = {}) {\n const result = await this.decoratee.execute(appName, options);\n if (appName === \"api\") {\n const templatesFolderPath = getTemplatesFolderPath();\n\n const app = this.getApp.execute(\"api\");\n\n const appWorkspaceFolderPath = app.paths.workspaceFolder.toString();\n const apiLambdaFnHandlersFolderPath = path.join(\n templatesFolderPath,\n \"extensions\",\n \"OpenSearch\",\n \"api\"\n );\n\n fs.cpSync(apiLambdaFnHandlersFolderPath, appWorkspaceFolderPath, {\n recursive: true,\n force: true\n });\n\n this.logger.debug(\"Replaced API Lambda function handlers with OpenSearch versions.\");\n }\n\n return result;\n }\n}\n\nexport const ReplaceApiLambdaFnHandlers = BuildAppWorkspaceService.createDecorator({\n decorator: ReplaceApiLambdaFnHandlerDecorator,\n dependencies: [GetApp, LoggerService]\n});\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,OAAOC,EAAE,MAAM,IAAI;AACnB,SACIC,wBAAwB,EACxBC,MAAM,EACNC,aAAa,QACV,uCAAuC;AAC9C,SAASC,sBAAsB;AAE/B,MAAMC,kCAAkC,CAA+C;EACnFC,WAAWA,CACCC,MAAwB,EACxBC,MAA+B,EAC/BC,SAA6C,EACvD;IAAA,KAHUF,MAAwB,GAAxBA,MAAwB;IAAA,KACxBC,MAA+B,GAA/BA,MAA+B;IAAA,KAC/BC,SAA6C,GAA7CA,SAA6C;EACtD;EAEH,MAAMC,OAAOA,CAACC,OAAuB,EAAEC,OAAyC,GAAG,CAAC,CAAC,EAAE;IACnF,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACJ,SAAS,CAACC,OAAO,CAACC,OAAO,EAAEC,OAAO,CAAC;IAC7D,IAAID,OAAO,KAAK,KAAK,EAAE;MACnB,MAAMG,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;MAEpD,MAAMW,GAAG,GAAG,IAAI,CAACR,MAAM,CAACG,OAAO,CAAC,KAAK,CAAC;MAEtC,MAAMM,sBAAsB,GAAGD,GAAG,CAACE,KAAK,CAACC,eAAe,CAACC,QAAQ,CAAC,CAAC;MACnE,MAAMC,6BAA6B,GAAGrB,IAAI,CAACsB,IAAI,CAC3CP,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,KACJ,CAAC;MAEDd,EAAE,CAACsB,MAAM,CAACF,6BAA6B,EAAEJ,sBAAsB,EAAE;QAC7DO,SAAS,EAAE,IAAI;QACfC,KAAK,EAAE;MACX,CAAC,CAAC;MAEF,IAAI,CAAChB,MAAM,CAACiB,KAAK,CAAC,iEAAiE,CAAC;IACxF;IAEA,OAAOZ,MAAM;EACjB;AACJ;AAEA,OAAO,MAAMa,0BAA0B,GAAGzB,wBAAwB,CAAC0B,eAAe,CAAC;EAC/EC,SAAS,EAAEvB,kCAAkC;EAC7CwB,YAAY,EAAE,CAAC3B,MAAM,EAAEC,aAAa;AACxC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ export declare const OpenSearch: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<z.ZodObject<{
3
+ enabled: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
4
+ domainName: z.ZodOptional<z.ZodString>;
5
+ indexPrefix: z.ZodOptional<z.ZodString>;
6
+ sharedIndexes: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ enabled?: boolean | undefined;
9
+ domainName?: string | undefined;
10
+ indexPrefix?: string | undefined;
11
+ sharedIndexes?: boolean | undefined;
12
+ }, {
13
+ enabled?: boolean | undefined;
14
+ domainName?: string | undefined;
15
+ indexPrefix?: string | undefined;
16
+ sharedIndexes?: boolean | undefined;
17
+ }>>;
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import { defineExtension } from "@webiny/project/defineExtension/index.js";
3
+ import { OpenSearch as PulumiOpenSearch } from "../pulumi/extensions/index.js";
4
+ import { Infra } from "../index.js";
5
+ import { createPathResolver } from "@webiny/project";
6
+ import { ProjectDecorator, DatabaseSetup } from "@webiny/project/extensions/index.js";
7
+ import { z } from "zod";
8
+ const p = createPathResolver(import.meta.dirname, "OpenSearch");
9
+ export const OpenSearch = defineExtension({
10
+ type: "Project/OpenSearch",
11
+ tags: {
12
+ runtimeContext: "project"
13
+ },
14
+ description: "Enable and configure Opensearch integration with project-level setup.",
15
+ paramsSchema: z.object({
16
+ enabled: z.boolean().describe("Whether to enable OpenSearch.").default(false).optional(),
17
+ domainName: z.string().describe("The name of the Opensearch domain.").optional(),
18
+ indexPrefix: z.string().describe("A prefix to be added to all Opensearch indexes.").optional(),
19
+ sharedIndexes: z.boolean().describe("Whether to use shared indexes across all environments (true) or separate indexes per environment (false).").default(false).optional()
20
+ }),
21
+ render: props => {
22
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(PulumiOpenSearch, props), props.enabled && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DatabaseSetup, {
23
+ setupName: "ddb+os"
24
+ }), /*#__PURE__*/React.createElement(ProjectDecorator, {
25
+ src: p("InjectDdbEsLambdaFnHandler.js")
26
+ }), /*#__PURE__*/React.createElement(ProjectDecorator, {
27
+ src: p("ReplaceApiLambdaFnHandlers.js")
28
+ }), /*#__PURE__*/React.createElement(Infra.Core.BeforeDeploy, {
29
+ src: p("EnsureOsServiceRoleBeforeCoreDeploy.js")
30
+ }), /*#__PURE__*/React.createElement(Infra.Core.BeforeDeploy, {
31
+ src: p("EnsureOsWasDeployed.js")
32
+ })));
33
+ }
34
+ });
35
+
36
+ //# sourceMappingURL=OpenSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","defineExtension","OpenSearch","PulumiOpenSearch","Infra","createPathResolver","ProjectDecorator","DatabaseSetup","z","p","import","meta","dirname","type","tags","runtimeContext","description","paramsSchema","object","enabled","boolean","describe","default","optional","domainName","string","indexPrefix","sharedIndexes","render","props","createElement","Fragment","setupName","src","Core","BeforeDeploy"],"sources":["OpenSearch.tsx"],"sourcesContent":["import React from \"react\";\nimport { defineExtension } from \"@webiny/project/defineExtension/index.js\";\nimport { OpenSearch as PulumiOpenSearch } from \"~/pulumi/extensions/index.js\";\nimport { Infra } from \"~/index.js\";\nimport { createPathResolver } from \"@webiny/project\";\nimport { ProjectDecorator, DatabaseSetup } from \"@webiny/project/extensions/index.js\";\nimport { z } from \"zod\";\n\nconst p = createPathResolver(import.meta.dirname, \"OpenSearch\");\n\nexport const OpenSearch = defineExtension({\n type: \"Project/OpenSearch\",\n tags: { runtimeContext: \"project\" },\n description: \"Enable and configure Opensearch integration with project-level setup.\",\n paramsSchema: z.object({\n enabled: z.boolean().describe(\"Whether to enable OpenSearch.\").default(false).optional(),\n domainName: z.string().describe(\"The name of the Opensearch domain.\").optional(),\n indexPrefix: z\n .string()\n .describe(\"A prefix to be added to all Opensearch indexes.\")\n .optional(),\n sharedIndexes: z\n .boolean()\n .describe(\n \"Whether to use shared indexes across all environments (true) or separate indexes per environment (false).\"\n )\n .default(false)\n .optional()\n }),\n render: props => {\n return (\n <>\n <PulumiOpenSearch {...props} />\n {props.enabled && (\n <>\n {/* Override database setup to indicate OpenSearch is enabled. */}\n <DatabaseSetup setupName=\"ddb+os\" />\n <ProjectDecorator src={p(\"InjectDdbEsLambdaFnHandler.js\")} />\n <ProjectDecorator src={p(\"ReplaceApiLambdaFnHandlers.js\")} />\n <Infra.Core.BeforeDeploy\n src={p(\"EnsureOsServiceRoleBeforeCoreDeploy.js\")}\n />\n <Infra.Core.BeforeDeploy src={p(\"EnsureOsWasDeployed.js\")} />\n </>\n )}\n </>\n );\n }\n});\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,0CAA0C;AAC1E,SAASC,UAAU,IAAIC,gBAAgB;AACvC,SAASC,KAAK;AACd,SAASC,kBAAkB,QAAQ,iBAAiB;AACpD,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,qCAAqC;AACrF,SAASC,CAAC,QAAQ,KAAK;AAEvB,MAAMC,CAAC,GAAGJ,kBAAkB,CAACK,MAAM,CAACC,IAAI,CAACC,OAAO,EAAE,YAAY,CAAC;AAE/D,OAAO,MAAMV,UAAU,GAAGD,eAAe,CAAC;EACtCY,IAAI,EAAE,oBAAoB;EAC1BC,IAAI,EAAE;IAAEC,cAAc,EAAE;EAAU,CAAC;EACnCC,WAAW,EAAE,uEAAuE;EACpFC,YAAY,EAAET,CAAC,CAACU,MAAM,CAAC;IACnBC,OAAO,EAAEX,CAAC,CAACY,OAAO,CAAC,CAAC,CAACC,QAAQ,CAAC,+BAA+B,CAAC,CAACC,OAAO,CAAC,KAAK,CAAC,CAACC,QAAQ,CAAC,CAAC;IACxFC,UAAU,EAAEhB,CAAC,CAACiB,MAAM,CAAC,CAAC,CAACJ,QAAQ,CAAC,oCAAoC,CAAC,CAACE,QAAQ,CAAC,CAAC;IAChFG,WAAW,EAAElB,CAAC,CACTiB,MAAM,CAAC,CAAC,CACRJ,QAAQ,CAAC,iDAAiD,CAAC,CAC3DE,QAAQ,CAAC,CAAC;IACfI,aAAa,EAAEnB,CAAC,CACXY,OAAO,CAAC,CAAC,CACTC,QAAQ,CACL,2GACJ,CAAC,CACAC,OAAO,CAAC,KAAK,CAAC,CACdC,QAAQ,CAAC;EAClB,CAAC,CAAC;EACFK,MAAM,EAAEC,KAAK,IAAI;IACb,oBACI7B,KAAA,CAAA8B,aAAA,CAAA9B,KAAA,CAAA+B,QAAA,qBACI/B,KAAA,CAAA8B,aAAA,CAAC3B,gBAAgB,EAAK0B,KAAQ,CAAC,EAC9BA,KAAK,CAACV,OAAO,iBACVnB,KAAA,CAAA8B,aAAA,CAAA9B,KAAA,CAAA+B,QAAA,qBAEI/B,KAAA,CAAA8B,aAAA,CAACvB,aAAa;MAACyB,SAAS,EAAC;IAAQ,CAAE,CAAC,eACpChC,KAAA,CAAA8B,aAAA,CAACxB,gBAAgB;MAAC2B,GAAG,EAAExB,CAAC,CAAC,+BAA+B;IAAE,CAAE,CAAC,eAC7DT,KAAA,CAAA8B,aAAA,CAACxB,gBAAgB;MAAC2B,GAAG,EAAExB,CAAC,CAAC,+BAA+B;IAAE,CAAE,CAAC,eAC7DT,KAAA,CAAA8B,aAAA,CAAC1B,KAAK,CAAC8B,IAAI,CAACC,YAAY;MACpBF,GAAG,EAAExB,CAAC,CAAC,wCAAwC;IAAE,CACpD,CAAC,eACFT,KAAA,CAAA8B,aAAA,CAAC1B,KAAK,CAAC8B,IAAI,CAACC,YAAY;MAACF,GAAG,EAAExB,CAAC,CAAC,wBAAwB;IAAE,CAAE,CAC9D,CAER,CAAC;EAEX;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { AdminStackOutputService } from "../../services/AdminStackOutputService.js";
@@ -0,0 +1,3 @@
1
+ export { AdminStackOutputService } from "../../services/AdminStackOutputService.js";
2
+
3
+ //# sourceMappingURL=AdminStackOutputService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AdminStackOutputService"],"sources":["AdminStackOutputService.ts"],"sourcesContent":["export { AdminStackOutputService } from \"../../services/AdminStackOutputService.js\";\n"],"mappings":"AAAA,SAASA,uBAAuB","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export { ApiStackOutputService } from "../../services/ApiStackOutputService.js";
@@ -0,0 +1,3 @@
1
+ export { ApiStackOutputService } from "../../services/ApiStackOutputService.js";
2
+
3
+ //# sourceMappingURL=ApiStackOutputService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ApiStackOutputService"],"sources":["ApiStackOutputService.ts"],"sourcesContent":["export { ApiStackOutputService } from \"../../services/ApiStackOutputService.js\";\n"],"mappings":"AAAA,SAASA,qBAAqB","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import { ApiAfterDeploy } from "@webiny/project/abstractions/index.js";
2
+ import { UiService } from "@webiny/project/abstractions/services/UiService.js";
3
+ import { LoggerService } from "@webiny/project/abstractions/services/LoggerService.js";
4
+ import { GetProjectConfigService } from "@webiny/project/abstractions";
5
+ import { ApiGqlClient } from "../../../abstractions/ApiGqlClient.js";
6
+ declare class AutoInstallAfterApiDeployImpl implements ApiAfterDeploy.Interface {
7
+ private apiGqlClient;
8
+ private ui;
9
+ private getProjectConfig;
10
+ private logger;
11
+ constructor(apiGqlClient: ApiGqlClient.Interface, ui: UiService.Interface, getProjectConfig: GetProjectConfigService.Interface, logger: LoggerService.Interface);
12
+ execute(params: ApiAfterDeploy.Params): Promise<void>;
13
+ }
14
+ export declare const AutoInstallAfterApiDeploy: typeof AutoInstallAfterApiDeployImpl & {
15
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/project/abstractions/index.js").IApiAfterDeploy>;
16
+ };
17
+ export {};
@@ -0,0 +1,108 @@
1
+ import { ApiAfterDeploy } from "@webiny/project/abstractions/index.js";
2
+ import { UiService } from "@webiny/project/abstractions/services/UiService.js";
3
+ import { LoggerService } from "@webiny/project/abstractions/services/LoggerService.js";
4
+ import { GetProjectConfigService } from "@webiny/project/abstractions";
5
+ import { ApiGqlClient } from "../../../abstractions/ApiGqlClient.js";
6
+ const IS_INSTALLED_QUERY = `
7
+ query IsSystemInstalled {
8
+ system {
9
+ isSystemInstalled {
10
+ data
11
+ error {
12
+ message
13
+ code
14
+ }
15
+ }
16
+ }
17
+ }
18
+ `;
19
+ const INSTALL_MUTATION = `
20
+ mutation InstallSystem($installationInput: JSON!) {
21
+ system {
22
+ installSystem(installationInput: $installationInput) {
23
+ data
24
+ error {
25
+ message
26
+ code
27
+ }
28
+ }
29
+ }
30
+ }
31
+ `;
32
+ class AutoInstallAfterApiDeployImpl {
33
+ constructor(apiGqlClient, ui, getProjectConfig, logger) {
34
+ this.apiGqlClient = apiGqlClient;
35
+ this.ui = ui;
36
+ this.getProjectConfig = getProjectConfig;
37
+ this.logger = logger;
38
+ }
39
+ async execute(params) {
40
+ if (params.preview) {
41
+ // Skip auto-install on preview deployments
42
+ return;
43
+ }
44
+ const projectConfig = await this.getProjectConfig.execute();
45
+ const adminAutoInstallExtensions = projectConfig.extensionsByType("Project/AutoInstall");
46
+ if (adminAutoInstallExtensions.length === 0) {
47
+ return;
48
+ }
49
+ const config = adminAutoInstallExtensions[0].params;
50
+
51
+ // Check if system is already installed
52
+ this.ui.info("Checking if system is already installed...");
53
+ try {
54
+ const isInstalledResponse = await this.apiGqlClient.query({
55
+ query: IS_INSTALLED_QUERY
56
+ });
57
+ if (isInstalledResponse.data?.system.isSystemInstalled.data === true) {
58
+ this.ui.info("System is already installed, skipping auto-install.");
59
+ return;
60
+ }
61
+ } catch (error) {
62
+ this.logger.error("Failed to check installation status", {
63
+ error
64
+ });
65
+ this.ui.warning(`Could not check installation status: ${error.message}`);
66
+ return;
67
+ }
68
+ this.ui.info("Auto-installing...");
69
+ const adminUser = config.adminUser || {
70
+ firstName: "John",
71
+ lastName: "Smith",
72
+ email: "admin@webiny.com",
73
+ password: "12345678"
74
+ };
75
+ const variables = {
76
+ installationInput: [{
77
+ app: "Cognito",
78
+ data: adminUser
79
+ }]
80
+ };
81
+ const installResponse = await this.apiGqlClient.mutation({
82
+ mutation: INSTALL_MUTATION,
83
+ variables
84
+ });
85
+ if (installResponse.data?.system.installSystem.error) {
86
+ const {
87
+ message,
88
+ code
89
+ } = installResponse.data.system.installSystem.error;
90
+ this.logger.error("Installation failed", {
91
+ message,
92
+ code
93
+ });
94
+ this.ui.error(`Installation failed: ${message} (${code})`);
95
+ throw new Error(message);
96
+ }
97
+ this.ui.success("System installed successfully!");
98
+ this.ui.info("Admin credentials:");
99
+ this.ui.info(` Email: ${adminUser.email}`);
100
+ this.ui.info(` Password: ${adminUser.password}`);
101
+ }
102
+ }
103
+ export const AutoInstallAfterApiDeploy = ApiAfterDeploy.createImplementation({
104
+ implementation: AutoInstallAfterApiDeployImpl,
105
+ dependencies: [ApiGqlClient, UiService, GetProjectConfigService, LoggerService]
106
+ });
107
+
108
+ //# sourceMappingURL=AutoInstallAfterApiDeploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ApiAfterDeploy","UiService","LoggerService","GetProjectConfigService","ApiGqlClient","IS_INSTALLED_QUERY","INSTALL_MUTATION","AutoInstallAfterApiDeployImpl","constructor","apiGqlClient","ui","getProjectConfig","logger","execute","params","preview","projectConfig","adminAutoInstallExtensions","extensionsByType","length","config","info","isInstalledResponse","query","data","system","isSystemInstalled","error","warning","message","adminUser","firstName","lastName","email","password","variables","installationInput","app","installResponse","mutation","installSystem","code","Error","success","AutoInstallAfterApiDeploy","createImplementation","implementation","dependencies"],"sources":["AutoInstallAfterApiDeploy.ts"],"sourcesContent":["import { ApiAfterDeploy } from \"@webiny/project/abstractions/index.js\";\nimport { UiService } from \"@webiny/project/abstractions/services/UiService.js\";\nimport { LoggerService } from \"@webiny/project/abstractions/services/LoggerService.js\";\nimport { GetProjectConfigService } from \"@webiny/project/abstractions\";\nimport { ApiGqlClient } from \"~/abstractions/ApiGqlClient.js\";\n\nconst IS_INSTALLED_QUERY = `\n query IsSystemInstalled {\n system {\n isSystemInstalled {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\nconst INSTALL_MUTATION = `\n mutation InstallSystem($installationInput: JSON!) {\n system {\n installSystem(installationInput: $installationInput) {\n data\n error {\n message\n code\n }\n }\n }\n }\n`;\n\ninterface IsInstalledResponse {\n system: {\n isSystemInstalled: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\ninterface InstallResponse {\n system: {\n installSystem: {\n data: boolean;\n error?: {\n message: string;\n code: string;\n };\n };\n };\n}\n\nclass AutoInstallAfterApiDeployImpl implements ApiAfterDeploy.Interface {\n constructor(\n private apiGqlClient: ApiGqlClient.Interface,\n private ui: UiService.Interface,\n private getProjectConfig: GetProjectConfigService.Interface,\n private logger: LoggerService.Interface\n ) {}\n\n async execute(params: ApiAfterDeploy.Params): Promise<void> {\n if (params.preview) {\n // Skip auto-install on preview deployments\n return;\n }\n\n const projectConfig = await this.getProjectConfig.execute();\n const adminAutoInstallExtensions = projectConfig.extensionsByType(\"Project/AutoInstall\");\n\n if (adminAutoInstallExtensions.length === 0) {\n return;\n }\n\n const config = adminAutoInstallExtensions[0].params;\n\n // Check if system is already installed\n this.ui.info(\"Checking if system is already installed...\");\n\n try {\n const isInstalledResponse = await this.apiGqlClient.query<IsInstalledResponse>({\n query: IS_INSTALLED_QUERY\n });\n\n if (isInstalledResponse.data?.system.isSystemInstalled.data === true) {\n this.ui.info(\"System is already installed, skipping auto-install.\");\n return;\n }\n } catch (error: any) {\n this.logger.error(\"Failed to check installation status\", { error });\n this.ui.warning(`Could not check installation status: ${error.message}`);\n return;\n }\n\n this.ui.info(\"Auto-installing...\");\n\n const adminUser = config.adminUser || {\n firstName: \"John\",\n lastName: \"Smith\",\n email: \"admin@webiny.com\",\n password: \"12345678\"\n };\n\n const variables = {\n installationInput: [\n {\n app: \"Cognito\",\n data: adminUser\n }\n ]\n };\n\n const installResponse = await this.apiGqlClient.mutation<InstallResponse>({\n mutation: INSTALL_MUTATION,\n variables\n });\n\n if (installResponse.data?.system.installSystem.error) {\n const { message, code } = installResponse.data.system.installSystem.error;\n this.logger.error(\"Installation failed\", { message, code });\n this.ui.error(`Installation failed: ${message} (${code})`);\n throw new Error(message);\n }\n\n this.ui.success(\"System installed successfully!\");\n this.ui.info(\"Admin credentials:\");\n this.ui.info(` Email: ${adminUser.email}`);\n this.ui.info(` Password: ${adminUser.password}`);\n }\n}\n\nexport const AutoInstallAfterApiDeploy = ApiAfterDeploy.createImplementation({\n implementation: AutoInstallAfterApiDeployImpl,\n dependencies: [ApiGqlClient, UiService, GetProjectConfigService, LoggerService]\n});\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,uCAAuC;AACtE,SAASC,SAAS,QAAQ,oDAAoD;AAC9E,SAASC,aAAa,QAAQ,wDAAwD;AACtF,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,SAASC,YAAY;AAErB,MAAMC,kBAAkB,GAAG;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAMC,gBAAgB,GAAG;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AA0BD,MAAMC,6BAA6B,CAAqC;EACpEC,WAAWA,CACCC,YAAoC,EACpCC,EAAuB,EACvBC,gBAAmD,EACnDC,MAA+B,EACzC;IAAA,KAJUH,YAAoC,GAApCA,YAAoC;IAAA,KACpCC,EAAuB,GAAvBA,EAAuB;IAAA,KACvBC,gBAAmD,GAAnDA,gBAAmD;IAAA,KACnDC,MAA+B,GAA/BA,MAA+B;EACxC;EAEH,MAAMC,OAAOA,CAACC,MAA6B,EAAiB;IACxD,IAAIA,MAAM,CAACC,OAAO,EAAE;MAChB;MACA;IACJ;IAEA,MAAMC,aAAa,GAAG,MAAM,IAAI,CAACL,gBAAgB,CAACE,OAAO,CAAC,CAAC;IAC3D,MAAMI,0BAA0B,GAAGD,aAAa,CAACE,gBAAgB,CAAC,qBAAqB,CAAC;IAExF,IAAID,0BAA0B,CAACE,MAAM,KAAK,CAAC,EAAE;MACzC;IACJ;IAEA,MAAMC,MAAM,GAAGH,0BAA0B,CAAC,CAAC,CAAC,CAACH,MAAM;;IAEnD;IACA,IAAI,CAACJ,EAAE,CAACW,IAAI,CAAC,4CAA4C,CAAC;IAE1D,IAAI;MACA,MAAMC,mBAAmB,GAAG,MAAM,IAAI,CAACb,YAAY,CAACc,KAAK,CAAsB;QAC3EA,KAAK,EAAElB;MACX,CAAC,CAAC;MAEF,IAAIiB,mBAAmB,CAACE,IAAI,EAAEC,MAAM,CAACC,iBAAiB,CAACF,IAAI,KAAK,IAAI,EAAE;QAClE,IAAI,CAACd,EAAE,CAACW,IAAI,CAAC,qDAAqD,CAAC;QACnE;MACJ;IACJ,CAAC,CAAC,OAAOM,KAAU,EAAE;MACjB,IAAI,CAACf,MAAM,CAACe,KAAK,CAAC,qCAAqC,EAAE;QAAEA;MAAM,CAAC,CAAC;MACnE,IAAI,CAACjB,EAAE,CAACkB,OAAO,CAAC,wCAAwCD,KAAK,CAACE,OAAO,EAAE,CAAC;MACxE;IACJ;IAEA,IAAI,CAACnB,EAAE,CAACW,IAAI,CAAC,oBAAoB,CAAC;IAElC,MAAMS,SAAS,GAAGV,MAAM,CAACU,SAAS,IAAI;MAClCC,SAAS,EAAE,MAAM;MACjBC,QAAQ,EAAE,OAAO;MACjBC,KAAK,EAAE,kBAAkB;MACzBC,QAAQ,EAAE;IACd,CAAC;IAED,MAAMC,SAAS,GAAG;MACdC,iBAAiB,EAAE,CACf;QACIC,GAAG,EAAE,SAAS;QACdb,IAAI,EAAEM;MACV,CAAC;IAET,CAAC;IAED,MAAMQ,eAAe,GAAG,MAAM,IAAI,CAAC7B,YAAY,CAAC8B,QAAQ,CAAkB;MACtEA,QAAQ,EAAEjC,gBAAgB;MAC1B6B;IACJ,CAAC,CAAC;IAEF,IAAIG,eAAe,CAACd,IAAI,EAAEC,MAAM,CAACe,aAAa,CAACb,KAAK,EAAE;MAClD,MAAM;QAAEE,OAAO;QAAEY;MAAK,CAAC,GAAGH,eAAe,CAACd,IAAI,CAACC,MAAM,CAACe,aAAa,CAACb,KAAK;MACzE,IAAI,CAACf,MAAM,CAACe,KAAK,CAAC,qBAAqB,EAAE;QAAEE,OAAO;QAAEY;MAAK,CAAC,CAAC;MAC3D,IAAI,CAAC/B,EAAE,CAACiB,KAAK,CAAC,wBAAwBE,OAAO,KAAKY,IAAI,GAAG,CAAC;MAC1D,MAAM,IAAIC,KAAK,CAACb,OAAO,CAAC;IAC5B;IAEA,IAAI,CAACnB,EAAE,CAACiC,OAAO,CAAC,gCAAgC,CAAC;IACjD,IAAI,CAACjC,EAAE,CAACW,IAAI,CAAC,oBAAoB,CAAC;IAClC,IAAI,CAACX,EAAE,CAACW,IAAI,CAAC,WAAWS,SAAS,CAACG,KAAK,EAAE,CAAC;IAC1C,IAAI,CAACvB,EAAE,CAACW,IAAI,CAAC,cAAcS,SAAS,CAACI,QAAQ,EAAE,CAAC;EACpD;AACJ;AAEA,OAAO,MAAMU,yBAAyB,GAAG5C,cAAc,CAAC6C,oBAAoB,CAAC;EACzEC,cAAc,EAAEvC,6BAA6B;EAC7CwC,YAAY,EAAE,CAAC3C,YAAY,EAAEH,SAAS,EAAEE,uBAAuB,EAAED,aAAa;AAClF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+ export declare const AutoInstall: import("@webiny/project/defineExtension/defineExtension").ExtensionComponent<z.ZodObject<{
3
+ adminUser: z.ZodObject<{
4
+ firstName: z.ZodString;
5
+ lastName: z.ZodString;
6
+ email: z.ZodString;
7
+ password: z.ZodString;
8
+ }, "strip", z.ZodTypeAny, {
9
+ firstName: string;
10
+ lastName: string;
11
+ email: string;
12
+ password: string;
13
+ }, {
14
+ firstName: string;
15
+ lastName: string;
16
+ email: string;
17
+ password: string;
18
+ }>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ adminUser: {
21
+ firstName: string;
22
+ lastName: string;
23
+ email: string;
24
+ password: string;
25
+ };
26
+ }, {
27
+ adminUser: {
28
+ firstName: string;
29
+ lastName: string;
30
+ email: string;
31
+ password: string;
32
+ };
33
+ }>>;