@webiny/pulumi-aws 5.37.2-beta.1 → 5.37.2-beta.3

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.
@@ -14,6 +14,17 @@ const createApiPulumiApp = (projectAppParams = {}) => {
14
14
  path: "apps/api",
15
15
  config: projectAppParams,
16
16
  program: async app => {
17
+ if (projectAppParams.elasticSearch) {
18
+ const elasticSearch = app.getParam(projectAppParams.elasticSearch);
19
+ if (typeof elasticSearch === "object") {
20
+ if (elasticSearch.domainName) {
21
+ process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;
22
+ }
23
+ if (elasticSearch.indexPrefix) {
24
+ process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;
25
+ }
26
+ }
27
+ }
17
28
  const pulumiResourceNamePrefix = app.getParam(projectAppParams.pulumiResourceNamePrefix);
18
29
  if (pulumiResourceNamePrefix) {
19
30
  app.onResource(resource => {
@@ -176,17 +187,6 @@ const createApiPulumiApp = (projectAppParams = {}) => {
176
187
  };
177
188
  }
178
189
  });
179
- if (projectAppParams.elasticSearch) {
180
- const elasticSearch = app.getParam(projectAppParams.elasticSearch);
181
- if (typeof elasticSearch === "object") {
182
- if (elasticSearch.domainName) {
183
- process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;
184
- }
185
- if (elasticSearch.indexPrefix) {
186
- process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;
187
- }
188
- }
189
- }
190
190
  return (0, _utils.withCommonLambdaEnvVariables)(app);
191
191
  };
192
192
  exports.createApiPulumiApp = createApiPulumiApp;
@@ -1 +1 @@
1
- {"version":3,"names":["_pulumi","require","_","_customDomain","_utils","createApiPulumiApp","projectAppParams","app","createPulumiApp","name","path","config","program","pulumiResourceNamePrefix","getParam","onResource","resource","startsWith","pulumi","addHandler","productionEnvironments","params","create","isProduction","includes","run","env","WEBINY_LOGS_FORWARD_URL","String","process","core","addModule","CoreOutput","vpcEnabled","vpc","VpcConfig","enabled","pageBuilder","ApiPageBuilder","COGNITO_REGION","AWS_REGION","COGNITO_USER_POOL_ID","cognitoUserPoolId","DB_TABLE","primaryDynamodbTableName","DB_TABLE_ELASTICSEARCH","elasticsearchDynamodbTableName","ELASTIC_SEARCH_ENDPOINT","elasticsearchDomainEndpoint","ELASTIC_SEARCH_INDEX_PREFIX","S3_BUCKET","fileManagerBucketId","fileManager","ApiFileManager","apwScheduler","ApiApwScheduler","primaryDynamodbTableArn","graphql","ApiGraphql","EVENT_BUS","eventBusArn","IMPORT_CREATE_HANDLER","import","functions","output","arn","EXPORT_PROCESS_HANDLER","export","OKTA_ISSUER","APW_SCHEDULER_SCHEDULE_ACTION_HANDLER","scheduleAction","lambda","apwSchedulerEventRule","eventRule","apwSchedulerEventTarget","eventTarget","apiGateway","ApiGateway","method","function","download","cloudfront","ApiCloudfront","migration","ApiMigration","domains","applyCustomDomain","addOutputs","region","cognitoAppClientId","cognitoUserPoolPasswordPolicy","apwSchedulerScheduleAction","apwSchedulerExecuteAction","executeAction","apwSchedulerEventTargetId","targetId","dynamoDbTable","dynamoDbElasticsearchTable","migrationLambdaArn","addDomainsUrlsOutputs","cloudfrontDistribution","map","distributionDomain","distributionUrl","usedDomain","usedUrl","tagResources","WbyProjectName","WbyEnvironment","elasticSearch","domainName","AWS_ELASTIC_SEARCH_DOMAIN_NAME","indexPrefix","withCommonLambdaEnvVariables","exports"],"sources":["createApiPulumiApp.ts"],"sourcesContent":["import { createPulumiApp, PulumiAppParam, PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport {\n ApiGateway,\n ApiApwScheduler,\n ApiCloudfront,\n ApiFileManager,\n ApiGraphql,\n ApiMigration,\n ApiPageBuilder,\n CoreOutput,\n VpcConfig\n} from \"~/apps\";\nimport { applyCustomDomain, CustomDomainParams } from \"../customDomain\";\nimport { tagResources, withCommonLambdaEnvVariables, addDomainsUrlsOutputs } from \"~/utils\";\n\nexport type ApiPulumiApp = ReturnType<typeof createApiPulumiApp>;\n\nexport interface CreateApiPulumiAppParams {\n /**\n * Enables ElasticSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n elasticSearch?: PulumiAppParam<\n | boolean\n | Partial<{\n domainName: string;\n indexPrefix: string;\n }>\n >;\n\n /**\n * Enables or disables VPC for the API.\n * For VPC to work you also have to enable it in the Core application.\n */\n vpc?: PulumiAppParam<boolean>;\n\n /** Custom domain configuration */\n domains?: PulumiAppParamCallback<CustomDomainParams>;\n\n /**\n * Provides a way to adjust existing Pulumi code (cloud infrastructure resources)\n * or add additional ones into the mix.\n */\n pulumi?: (app: ApiPulumiApp) => void | Promise<void>;\n\n /**\n * Prefixes names of all Pulumi cloud infrastructure resource with given prefix.\n */\n pulumiResourceNamePrefix?: PulumiAppParam<string>;\n\n /**\n * Treats provided environments as production environments, which\n * are deployed in production deployment mode.\n * https://www.webiny.com/docs/architecture/deployment-modes/production\n */\n productionEnvironments?: PulumiAppParam<string[]>;\n}\n\nexport const createApiPulumiApp = (projectAppParams: CreateApiPulumiAppParams = {}) => {\n const app = createPulumiApp({\n name: \"api\",\n path: \"apps/api\",\n config: projectAppParams,\n program: async app => {\n const pulumiResourceNamePrefix = app.getParam(\n projectAppParams.pulumiResourceNamePrefix\n );\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n // Overrides must be applied via a handler, registered at the very start of the program.\n // By doing this, we're ensuring user's adjustments are not applied too late.\n if (projectAppParams.pulumi) {\n app.addHandler(() => {\n return projectAppParams.pulumi!(app as ApiPulumiApp);\n });\n }\n\n const productionEnvironments = app.params.create.productionEnvironments || [\"prod\"];\n const isProduction = productionEnvironments.includes(app.params.run.env);\n\n // Enables logs forwarding.\n // https://www.webiny.com/docs/how-to-guides/use-watch-command#enabling-logs-forwarding\n const WEBINY_LOGS_FORWARD_URL = String(process.env.WEBINY_LOGS_FORWARD_URL);\n\n // Register core output as a module available to all the other modules\n const core = app.addModule(CoreOutput);\n\n // Register VPC config module to be available to other modules.\n const vpcEnabled = app.getParam(projectAppParams?.vpc) ?? isProduction;\n app.addModule(VpcConfig, { enabled: vpcEnabled });\n\n const pageBuilder = app.addModule(ApiPageBuilder, {\n env: {\n COGNITO_REGION: String(process.env.AWS_REGION),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_ELASTICSEARCH: core.elasticsearchDynamodbTableName,\n ELASTIC_SEARCH_ENDPOINT: core.elasticsearchDomainEndpoint,\n\n // Not required. Useful for testing purposes / ephemeral environments.\n // https://www.webiny.com/docs/key-topics/ci-cd/testing/slow-ephemeral-environments\n ELASTIC_SEARCH_INDEX_PREFIX: process.env.ELASTIC_SEARCH_INDEX_PREFIX,\n\n S3_BUCKET: core.fileManagerBucketId,\n WEBINY_LOGS_FORWARD_URL\n }\n });\n\n const fileManager = app.addModule(ApiFileManager, {\n env: {\n DB_TABLE: core.primaryDynamodbTableName\n }\n });\n\n const apwScheduler = app.addModule(ApiApwScheduler, {\n primaryDynamodbTableArn: core.primaryDynamodbTableArn,\n\n env: {\n COGNITO_REGION: String(process.env.AWS_REGION),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n S3_BUCKET: core.fileManagerBucketId,\n WEBINY_LOGS_FORWARD_URL\n }\n });\n\n const graphql = app.addModule(ApiGraphql, {\n env: {\n COGNITO_REGION: String(process.env.AWS_REGION),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_ELASTICSEARCH: core.elasticsearchDynamodbTableName,\n ELASTIC_SEARCH_ENDPOINT: core.elasticsearchDomainEndpoint,\n\n // Not required. Useful for testing purposes / ephemeral environments.\n // https://www.webiny.com/docs/key-topics/ci-cd/testing/slow-ephemeral-environments\n ELASTIC_SEARCH_INDEX_PREFIX: process.env.ELASTIC_SEARCH_INDEX_PREFIX,\n\n S3_BUCKET: core.fileManagerBucketId,\n EVENT_BUS: core.eventBusArn,\n IMPORT_CREATE_HANDLER: pageBuilder.import.functions.create.output.arn,\n EXPORT_PROCESS_HANDLER: pageBuilder.export.functions.process.output.arn,\n // TODO: move to okta plugin\n OKTA_ISSUER: process.env[\"OKTA_ISSUER\"],\n WEBINY_LOGS_FORWARD_URL,\n /**\n * APW\n */\n APW_SCHEDULER_SCHEDULE_ACTION_HANDLER:\n apwScheduler.scheduleAction.lambda.output.arn\n },\n apwSchedulerEventRule: apwScheduler.eventRule.output,\n apwSchedulerEventTarget: apwScheduler.eventTarget.output\n });\n\n const apiGateway = app.addModule(ApiGateway, {\n \"graphql-post\": {\n path: \"/graphql\",\n method: \"POST\",\n function: graphql.functions.graphql.output.arn\n },\n \"graphql-options\": {\n path: \"/graphql\",\n method: \"OPTIONS\",\n function: graphql.functions.graphql.output.arn\n },\n \"files-any\": {\n path: \"/files/{path+}\",\n method: \"ANY\",\n function: fileManager.functions.download.output.arn\n },\n \"cms-post\": {\n path: \"/cms/{key+}\",\n method: \"POST\",\n function: graphql.functions.graphql.output.arn\n },\n \"cms-options\": {\n path: \"/cms/{key+}\",\n method: \"OPTIONS\",\n function: graphql.functions.graphql.output.arn\n },\n \"files-catch-all\": {\n path: \"/{path+}\",\n method: \"ANY\",\n function: fileManager.functions.download.output.arn\n }\n });\n\n const cloudfront = app.addModule(ApiCloudfront);\n const migration = app.addModule(ApiMigration);\n\n const domains = app.getParam(projectAppParams.domains);\n if (domains) {\n applyCustomDomain(cloudfront, domains);\n }\n\n app.addOutputs({\n region: process.env.AWS_REGION,\n cognitoUserPoolId: core.cognitoUserPoolId,\n cognitoAppClientId: core.cognitoAppClientId,\n cognitoUserPoolPasswordPolicy: core.cognitoUserPoolPasswordPolicy,\n apwSchedulerScheduleAction: apwScheduler.scheduleAction.lambda.output.arn,\n apwSchedulerExecuteAction: apwScheduler.executeAction.lambda.output.arn,\n apwSchedulerEventRule: apwScheduler.eventRule.output.name,\n apwSchedulerEventTargetId: apwScheduler.eventTarget.output.targetId,\n dynamoDbTable: core.primaryDynamodbTableName,\n dynamoDbElasticsearchTable: core.elasticsearchDynamodbTableName,\n migrationLambdaArn: migration.function.output.arn\n });\n\n app.addHandler(() => {\n addDomainsUrlsOutputs({\n app,\n cloudfrontDistribution: cloudfront,\n map: {\n distributionDomain: \"cloudfrontApiDomain\",\n distributionUrl: \"cloudfrontApiUrl\",\n usedDomain: \"apiDomain\",\n usedUrl: \"apiUrl\"\n }\n });\n });\n\n tagResources({\n WbyProjectName: String(process.env[\"WEBINY_PROJECT_NAME\"]),\n WbyEnvironment: String(process.env[\"WEBINY_ENV\"])\n });\n\n return {\n fileManager,\n graphql,\n apiGateway,\n cloudfront,\n apwScheduler,\n migration\n };\n }\n });\n\n if (projectAppParams.elasticSearch) {\n const elasticSearch = app.getParam(projectAppParams.elasticSearch);\n if (typeof elasticSearch === \"object\") {\n if (elasticSearch.domainName) {\n process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;\n }\n\n if (elasticSearch.indexPrefix) {\n process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;\n }\n }\n }\n\n return withCommonLambdaEnvVariables(app);\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pulumi","require","_","_customDomain","_utils","createApiPulumiApp","projectAppParams","app","createPulumiApp","name","path","config","program","elasticSearch","getParam","domainName","process","env","AWS_ELASTIC_SEARCH_DOMAIN_NAME","indexPrefix","ELASTIC_SEARCH_INDEX_PREFIX","pulumiResourceNamePrefix","onResource","resource","startsWith","pulumi","addHandler","productionEnvironments","params","create","isProduction","includes","run","WEBINY_LOGS_FORWARD_URL","String","core","addModule","CoreOutput","vpcEnabled","vpc","VpcConfig","enabled","pageBuilder","ApiPageBuilder","COGNITO_REGION","AWS_REGION","COGNITO_USER_POOL_ID","cognitoUserPoolId","DB_TABLE","primaryDynamodbTableName","DB_TABLE_ELASTICSEARCH","elasticsearchDynamodbTableName","ELASTIC_SEARCH_ENDPOINT","elasticsearchDomainEndpoint","S3_BUCKET","fileManagerBucketId","fileManager","ApiFileManager","apwScheduler","ApiApwScheduler","primaryDynamodbTableArn","graphql","ApiGraphql","EVENT_BUS","eventBusArn","IMPORT_CREATE_HANDLER","import","functions","output","arn","EXPORT_PROCESS_HANDLER","export","OKTA_ISSUER","APW_SCHEDULER_SCHEDULE_ACTION_HANDLER","scheduleAction","lambda","apwSchedulerEventRule","eventRule","apwSchedulerEventTarget","eventTarget","apiGateway","ApiGateway","method","function","download","cloudfront","ApiCloudfront","migration","ApiMigration","domains","applyCustomDomain","addOutputs","region","cognitoAppClientId","cognitoUserPoolPasswordPolicy","apwSchedulerScheduleAction","apwSchedulerExecuteAction","executeAction","apwSchedulerEventTargetId","targetId","dynamoDbTable","dynamoDbElasticsearchTable","migrationLambdaArn","addDomainsUrlsOutputs","cloudfrontDistribution","map","distributionDomain","distributionUrl","usedDomain","usedUrl","tagResources","WbyProjectName","WbyEnvironment","withCommonLambdaEnvVariables","exports"],"sources":["createApiPulumiApp.ts"],"sourcesContent":["import { createPulumiApp, PulumiAppParam, PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport {\n ApiGateway,\n ApiApwScheduler,\n ApiCloudfront,\n ApiFileManager,\n ApiGraphql,\n ApiMigration,\n ApiPageBuilder,\n CoreOutput,\n VpcConfig\n} from \"~/apps\";\nimport { applyCustomDomain, CustomDomainParams } from \"../customDomain\";\nimport { tagResources, withCommonLambdaEnvVariables, addDomainsUrlsOutputs } from \"~/utils\";\n\nexport type ApiPulumiApp = ReturnType<typeof createApiPulumiApp>;\n\nexport interface CreateApiPulumiAppParams {\n /**\n * Enables ElasticSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n elasticSearch?: PulumiAppParam<\n | boolean\n | Partial<{\n domainName: string;\n indexPrefix: string;\n }>\n >;\n\n /**\n * Enables or disables VPC for the API.\n * For VPC to work you also have to enable it in the Core application.\n */\n vpc?: PulumiAppParam<boolean>;\n\n /** Custom domain configuration */\n domains?: PulumiAppParamCallback<CustomDomainParams>;\n\n /**\n * Provides a way to adjust existing Pulumi code (cloud infrastructure resources)\n * or add additional ones into the mix.\n */\n pulumi?: (app: ApiPulumiApp) => void | Promise<void>;\n\n /**\n * Prefixes names of all Pulumi cloud infrastructure resource with given prefix.\n */\n pulumiResourceNamePrefix?: PulumiAppParam<string>;\n\n /**\n * Treats provided environments as production environments, which\n * are deployed in production deployment mode.\n * https://www.webiny.com/docs/architecture/deployment-modes/production\n */\n productionEnvironments?: PulumiAppParam<string[]>;\n}\n\nexport const createApiPulumiApp = (projectAppParams: CreateApiPulumiAppParams = {}) => {\n const app = createPulumiApp({\n name: \"api\",\n path: \"apps/api\",\n config: projectAppParams,\n program: async app => {\n if (projectAppParams.elasticSearch) {\n const elasticSearch = app.getParam(projectAppParams.elasticSearch);\n if (typeof elasticSearch === \"object\") {\n if (elasticSearch.domainName) {\n process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;\n }\n\n if (elasticSearch.indexPrefix) {\n process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;\n }\n }\n }\n\n const pulumiResourceNamePrefix = app.getParam(\n projectAppParams.pulumiResourceNamePrefix\n );\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n // Overrides must be applied via a handler, registered at the very start of the program.\n // By doing this, we're ensuring user's adjustments are not applied too late.\n if (projectAppParams.pulumi) {\n app.addHandler(() => {\n return projectAppParams.pulumi!(app as ApiPulumiApp);\n });\n }\n\n const productionEnvironments = app.params.create.productionEnvironments || [\"prod\"];\n const isProduction = productionEnvironments.includes(app.params.run.env);\n\n // Enables logs forwarding.\n // https://www.webiny.com/docs/how-to-guides/use-watch-command#enabling-logs-forwarding\n const WEBINY_LOGS_FORWARD_URL = String(process.env.WEBINY_LOGS_FORWARD_URL);\n\n // Register core output as a module available to all the other modules\n const core = app.addModule(CoreOutput);\n\n // Register VPC config module to be available to other modules.\n const vpcEnabled = app.getParam(projectAppParams?.vpc) ?? isProduction;\n app.addModule(VpcConfig, { enabled: vpcEnabled });\n\n const pageBuilder = app.addModule(ApiPageBuilder, {\n env: {\n COGNITO_REGION: String(process.env.AWS_REGION),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_ELASTICSEARCH: core.elasticsearchDynamodbTableName,\n ELASTIC_SEARCH_ENDPOINT: core.elasticsearchDomainEndpoint,\n\n // Not required. Useful for testing purposes / ephemeral environments.\n // https://www.webiny.com/docs/key-topics/ci-cd/testing/slow-ephemeral-environments\n ELASTIC_SEARCH_INDEX_PREFIX: process.env.ELASTIC_SEARCH_INDEX_PREFIX,\n\n S3_BUCKET: core.fileManagerBucketId,\n WEBINY_LOGS_FORWARD_URL\n }\n });\n\n const fileManager = app.addModule(ApiFileManager, {\n env: {\n DB_TABLE: core.primaryDynamodbTableName\n }\n });\n\n const apwScheduler = app.addModule(ApiApwScheduler, {\n primaryDynamodbTableArn: core.primaryDynamodbTableArn,\n\n env: {\n COGNITO_REGION: String(process.env.AWS_REGION),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n S3_BUCKET: core.fileManagerBucketId,\n WEBINY_LOGS_FORWARD_URL\n }\n });\n\n const graphql = app.addModule(ApiGraphql, {\n env: {\n COGNITO_REGION: String(process.env.AWS_REGION),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_ELASTICSEARCH: core.elasticsearchDynamodbTableName,\n ELASTIC_SEARCH_ENDPOINT: core.elasticsearchDomainEndpoint,\n\n // Not required. Useful for testing purposes / ephemeral environments.\n // https://www.webiny.com/docs/key-topics/ci-cd/testing/slow-ephemeral-environments\n ELASTIC_SEARCH_INDEX_PREFIX: process.env.ELASTIC_SEARCH_INDEX_PREFIX,\n\n S3_BUCKET: core.fileManagerBucketId,\n EVENT_BUS: core.eventBusArn,\n IMPORT_CREATE_HANDLER: pageBuilder.import.functions.create.output.arn,\n EXPORT_PROCESS_HANDLER: pageBuilder.export.functions.process.output.arn,\n // TODO: move to okta plugin\n OKTA_ISSUER: process.env[\"OKTA_ISSUER\"],\n WEBINY_LOGS_FORWARD_URL,\n /**\n * APW\n */\n APW_SCHEDULER_SCHEDULE_ACTION_HANDLER:\n apwScheduler.scheduleAction.lambda.output.arn\n },\n apwSchedulerEventRule: apwScheduler.eventRule.output,\n apwSchedulerEventTarget: apwScheduler.eventTarget.output\n });\n\n const apiGateway = app.addModule(ApiGateway, {\n \"graphql-post\": {\n path: \"/graphql\",\n method: \"POST\",\n function: graphql.functions.graphql.output.arn\n },\n \"graphql-options\": {\n path: \"/graphql\",\n method: \"OPTIONS\",\n function: graphql.functions.graphql.output.arn\n },\n \"files-any\": {\n path: \"/files/{path+}\",\n method: \"ANY\",\n function: fileManager.functions.download.output.arn\n },\n \"cms-post\": {\n path: \"/cms/{key+}\",\n method: \"POST\",\n function: graphql.functions.graphql.output.arn\n },\n \"cms-options\": {\n path: \"/cms/{key+}\",\n method: \"OPTIONS\",\n function: graphql.functions.graphql.output.arn\n },\n \"files-catch-all\": {\n path: \"/{path+}\",\n method: \"ANY\",\n function: fileManager.functions.download.output.arn\n }\n });\n\n const cloudfront = app.addModule(ApiCloudfront);\n const migration = app.addModule(ApiMigration);\n\n const domains = app.getParam(projectAppParams.domains);\n if (domains) {\n applyCustomDomain(cloudfront, domains);\n }\n\n app.addOutputs({\n region: process.env.AWS_REGION,\n cognitoUserPoolId: core.cognitoUserPoolId,\n cognitoAppClientId: core.cognitoAppClientId,\n cognitoUserPoolPasswordPolicy: core.cognitoUserPoolPasswordPolicy,\n apwSchedulerScheduleAction: apwScheduler.scheduleAction.lambda.output.arn,\n apwSchedulerExecuteAction: apwScheduler.executeAction.lambda.output.arn,\n apwSchedulerEventRule: apwScheduler.eventRule.output.name,\n apwSchedulerEventTargetId: apwScheduler.eventTarget.output.targetId,\n dynamoDbTable: core.primaryDynamodbTableName,\n dynamoDbElasticsearchTable: core.elasticsearchDynamodbTableName,\n migrationLambdaArn: migration.function.output.arn\n });\n\n app.addHandler(() => {\n addDomainsUrlsOutputs({\n app,\n cloudfrontDistribution: cloudfront,\n map: {\n distributionDomain: \"cloudfrontApiDomain\",\n distributionUrl: \"cloudfrontApiUrl\",\n usedDomain: \"apiDomain\",\n usedUrl: \"apiUrl\"\n }\n });\n });\n\n tagResources({\n WbyProjectName: String(process.env[\"WEBINY_PROJECT_NAME\"]),\n WbyEnvironment: String(process.env[\"WEBINY_ENV\"])\n });\n\n return {\n fileManager,\n graphql,\n apiGateway,\n cloudfront,\n apwScheduler,\n migration\n };\n }\n });\n\n return withCommonLambdaEnvVariables(app);\n};\n"],"mappings":"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"}
@@ -20,6 +20,17 @@ function createCorePulumiApp(projectAppParams = {}) {
20
20
  path: "apps/core",
21
21
  config: projectAppParams,
22
22
  program: async app => {
23
+ if (projectAppParams.elasticSearch) {
24
+ const elasticSearch = app.getParam(projectAppParams.elasticSearch);
25
+ if (typeof elasticSearch === "object") {
26
+ if (elasticSearch.domainName) {
27
+ process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;
28
+ }
29
+ if (elasticSearch.indexPrefix) {
30
+ process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;
31
+ }
32
+ }
33
+ }
23
34
  const pulumiResourceNamePrefix = app.getParam(projectAppParams.pulumiResourceNamePrefix);
24
35
  if (pulumiResourceNamePrefix) {
25
36
  app.onResource(resource => {
@@ -94,16 +105,5 @@ function createCorePulumiApp(projectAppParams = {}) {
94
105
  });
95
106
  }
96
107
  });
97
- if (projectAppParams.elasticSearch) {
98
- const elasticSearch = app.getParam(projectAppParams.elasticSearch);
99
- if (typeof elasticSearch === "object") {
100
- if (elasticSearch.domainName) {
101
- process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;
102
- }
103
- if (elasticSearch.indexPrefix) {
104
- process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;
105
- }
106
- }
107
- }
108
108
  return app;
109
109
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_pulumi","require","_CoreCognito","_CoreDynamo","_CoreElasticSearch","_CoreEventBus","_CoreFileManager","_CoreVpc","_utils","createCorePulumiApp","projectAppParams","app","createPulumiApp","name","path","config","program","pulumiResourceNamePrefix","getParam","onResource","resource","startsWith","pulumi","addHandler","productionEnvironments","params","create","isProduction","includes","run","env","protect","legacyConfig","legacy","dynamoDbTable","addModule","CoreDynamo","vpcEnabled","vpc","CoreVpc","cognito","CoreCognito","useEmailAsUsername","eventBus","CoreEventBus","bucket","fileManagerBucket","CoreFileManger","elasticSearch","ElasticSearch","addOutputs","fileManagerBucketId","output","id","primaryDynamodbTableArn","arn","primaryDynamodbTableName","primaryDynamodbTableHashKey","hashKey","primaryDynamodbTableRangeKey","rangeKey","cognitoUserPoolId","userPool","cognitoUserPoolArn","cognitoUserPoolPasswordPolicy","passwordPolicy","cognitoAppClientId","userPoolClient","eventBusArn","tagResources","WbyProjectName","String","process","WbyEnvironment","_objectSpread2","default","domainName","AWS_ELASTIC_SEARCH_DOMAIN_NAME","indexPrefix","ELASTIC_SEARCH_INDEX_PREFIX"],"sources":["createCorePulumiApp.ts"],"sourcesContent":["import { createPulumiApp, PulumiAppParam } from \"@webiny/pulumi\";\nimport { CoreCognito } from \"./CoreCognito\";\nimport { CoreDynamo } from \"./CoreDynamo\";\nimport { ElasticSearch } from \"./CoreElasticSearch\";\nimport { CoreEventBus } from \"./CoreEventBus\";\nimport { CoreFileManger } from \"./CoreFileManager\";\nimport { CoreVpc } from \"./CoreVpc\";\nimport { tagResources } from \"~/utils\";\n\nexport type CorePulumiApp = ReturnType<typeof createCorePulumiApp>;\n\nexport interface CreateCorePulumiAppParams {\n /**\n * Secures against deleting database by accident.\n * By default enabled in production environments.\n */\n protect?: PulumiAppParam<boolean>;\n\n /**\n * Enables ElasticSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n elasticSearch?: PulumiAppParam<\n | boolean\n | Partial<{\n domainName: string;\n indexPrefix: string;\n }>\n >;\n\n /**\n * Enables VPC for the application.\n * By default enabled in production environments.\n */\n vpc?: PulumiAppParam<boolean>;\n\n /**\n * Additional settings for backwards compatibility.\n */\n legacy?: PulumiAppParam<CoreAppLegacyConfig>;\n\n /**\n * Provides a way to adjust existing Pulumi code (cloud infrastructure resources)\n * or add additional ones into the mix.\n */\n pulumi?: (app: CorePulumiApp) => void | Promise<void>;\n\n /**\n * Prefixes names of all Pulumi cloud infrastructure resource with given prefix.\n */\n pulumiResourceNamePrefix?: PulumiAppParam<string>;\n\n /**\n * Treats provided environments as production environments, which\n * are deployed in production deployment mode.\n * https://www.webiny.com/docs/architecture/deployment-modes/production\n */\n productionEnvironments?: PulumiAppParam<string[]>;\n}\n\nexport interface CoreAppLegacyConfig {\n useEmailAsUsername?: boolean;\n}\n\nexport function createCorePulumiApp(projectAppParams: CreateCorePulumiAppParams = {}) {\n const app = createPulumiApp({\n name: \"core\",\n path: \"apps/core\",\n config: projectAppParams,\n program: async app => {\n const pulumiResourceNamePrefix = app.getParam(\n projectAppParams.pulumiResourceNamePrefix\n );\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n // Overrides must be applied via a handler, registered at the very start of the program.\n // By doing this, we're ensuring user's adjustments are not applied to late.\n if (projectAppParams.pulumi) {\n app.addHandler(() => {\n return projectAppParams.pulumi!(app as CorePulumiApp);\n });\n }\n\n const productionEnvironments = app.params.create.productionEnvironments || [\"prod\"];\n const isProduction = productionEnvironments.includes(app.params.run.env);\n\n const protect = app.getParam(projectAppParams.protect) ?? isProduction;\n const legacyConfig = app.getParam(projectAppParams.legacy) || {};\n\n // Setup DynamoDB table\n const dynamoDbTable = app.addModule(CoreDynamo, { protect });\n\n // Setup VPC\n const vpcEnabled = app.getParam(projectAppParams?.vpc) ?? isProduction;\n const vpc = vpcEnabled ? app.addModule(CoreVpc) : null;\n\n // Setup Cognito\n const cognito = app.addModule(CoreCognito, {\n protect,\n useEmailAsUsername: legacyConfig.useEmailAsUsername ?? false\n });\n\n // Setup event bus\n const eventBus = app.addModule(CoreEventBus);\n\n // Setup file core bucket\n const { bucket: fileManagerBucket } = app.addModule(CoreFileManger, { protect });\n\n const elasticSearch = app.getParam(projectAppParams?.elasticSearch)\n ? app.addModule(ElasticSearch, { protect })\n : null;\n\n app.addOutputs({\n fileManagerBucketId: fileManagerBucket.output.id,\n primaryDynamodbTableArn: dynamoDbTable.output.arn,\n primaryDynamodbTableName: dynamoDbTable.output.name,\n primaryDynamodbTableHashKey: dynamoDbTable.output.hashKey,\n primaryDynamodbTableRangeKey: dynamoDbTable.output.rangeKey,\n cognitoUserPoolId: cognito.userPool.output.id,\n cognitoUserPoolArn: cognito.userPool.output.arn,\n cognitoUserPoolPasswordPolicy: cognito.userPool.output.passwordPolicy,\n cognitoAppClientId: cognito.userPoolClient.output.id,\n eventBusArn: eventBus.output.arn\n });\n\n tagResources({\n WbyProjectName: String(process.env[\"WEBINY_PROJECT_NAME\"]),\n WbyEnvironment: String(process.env[\"WEBINY_ENV\"])\n });\n\n return {\n dynamoDbTable,\n vpc,\n ...cognito,\n fileManagerBucket,\n eventBus,\n elasticSearch\n };\n }\n });\n\n if (projectAppParams.elasticSearch) {\n const elasticSearch = app.getParam(projectAppParams.elasticSearch);\n if (typeof elasticSearch === \"object\") {\n if (elasticSearch.domainName) {\n process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;\n }\n\n if (elasticSearch.indexPrefix) {\n process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;\n }\n }\n }\n\n return app;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_pulumi","require","_CoreCognito","_CoreDynamo","_CoreElasticSearch","_CoreEventBus","_CoreFileManager","_CoreVpc","_utils","createCorePulumiApp","projectAppParams","app","createPulumiApp","name","path","config","program","elasticSearch","getParam","domainName","process","env","AWS_ELASTIC_SEARCH_DOMAIN_NAME","indexPrefix","ELASTIC_SEARCH_INDEX_PREFIX","pulumiResourceNamePrefix","onResource","resource","startsWith","pulumi","addHandler","productionEnvironments","params","create","isProduction","includes","run","protect","legacyConfig","legacy","dynamoDbTable","addModule","CoreDynamo","vpcEnabled","vpc","CoreVpc","cognito","CoreCognito","useEmailAsUsername","eventBus","CoreEventBus","bucket","fileManagerBucket","CoreFileManger","ElasticSearch","addOutputs","fileManagerBucketId","output","id","primaryDynamodbTableArn","arn","primaryDynamodbTableName","primaryDynamodbTableHashKey","hashKey","primaryDynamodbTableRangeKey","rangeKey","cognitoUserPoolId","userPool","cognitoUserPoolArn","cognitoUserPoolPasswordPolicy","passwordPolicy","cognitoAppClientId","userPoolClient","eventBusArn","tagResources","WbyProjectName","String","WbyEnvironment","_objectSpread2","default"],"sources":["createCorePulumiApp.ts"],"sourcesContent":["import { createPulumiApp, PulumiAppParam } from \"@webiny/pulumi\";\nimport { CoreCognito } from \"./CoreCognito\";\nimport { CoreDynamo } from \"./CoreDynamo\";\nimport { ElasticSearch } from \"./CoreElasticSearch\";\nimport { CoreEventBus } from \"./CoreEventBus\";\nimport { CoreFileManger } from \"./CoreFileManager\";\nimport { CoreVpc } from \"./CoreVpc\";\nimport { tagResources } from \"~/utils\";\n\nexport type CorePulumiApp = ReturnType<typeof createCorePulumiApp>;\n\nexport interface CreateCorePulumiAppParams {\n /**\n * Secures against deleting database by accident.\n * By default enabled in production environments.\n */\n protect?: PulumiAppParam<boolean>;\n\n /**\n * Enables ElasticSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n elasticSearch?: PulumiAppParam<\n | boolean\n | Partial<{\n domainName: string;\n indexPrefix: string;\n }>\n >;\n\n /**\n * Enables VPC for the application.\n * By default enabled in production environments.\n */\n vpc?: PulumiAppParam<boolean>;\n\n /**\n * Additional settings for backwards compatibility.\n */\n legacy?: PulumiAppParam<CoreAppLegacyConfig>;\n\n /**\n * Provides a way to adjust existing Pulumi code (cloud infrastructure resources)\n * or add additional ones into the mix.\n */\n pulumi?: (app: CorePulumiApp) => void | Promise<void>;\n\n /**\n * Prefixes names of all Pulumi cloud infrastructure resource with given prefix.\n */\n pulumiResourceNamePrefix?: PulumiAppParam<string>;\n\n /**\n * Treats provided environments as production environments, which\n * are deployed in production deployment mode.\n * https://www.webiny.com/docs/architecture/deployment-modes/production\n */\n productionEnvironments?: PulumiAppParam<string[]>;\n}\n\nexport interface CoreAppLegacyConfig {\n useEmailAsUsername?: boolean;\n}\n\nexport function createCorePulumiApp(projectAppParams: CreateCorePulumiAppParams = {}) {\n const app = createPulumiApp({\n name: \"core\",\n path: \"apps/core\",\n config: projectAppParams,\n program: async app => {\n if (projectAppParams.elasticSearch) {\n const elasticSearch = app.getParam(projectAppParams.elasticSearch);\n if (typeof elasticSearch === \"object\") {\n if (elasticSearch.domainName) {\n process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = elasticSearch.domainName;\n }\n\n if (elasticSearch.indexPrefix) {\n process.env.ELASTIC_SEARCH_INDEX_PREFIX = elasticSearch.indexPrefix;\n }\n }\n }\n\n const pulumiResourceNamePrefix = app.getParam(\n projectAppParams.pulumiResourceNamePrefix\n );\n if (pulumiResourceNamePrefix) {\n app.onResource(resource => {\n if (!resource.name.startsWith(pulumiResourceNamePrefix)) {\n resource.name = `${pulumiResourceNamePrefix}${resource.name}`;\n }\n });\n }\n\n // Overrides must be applied via a handler, registered at the very start of the program.\n // By doing this, we're ensuring user's adjustments are not applied to late.\n if (projectAppParams.pulumi) {\n app.addHandler(() => {\n return projectAppParams.pulumi!(app as CorePulumiApp);\n });\n }\n\n const productionEnvironments = app.params.create.productionEnvironments || [\"prod\"];\n const isProduction = productionEnvironments.includes(app.params.run.env);\n\n const protect = app.getParam(projectAppParams.protect) ?? isProduction;\n const legacyConfig = app.getParam(projectAppParams.legacy) || {};\n\n // Setup DynamoDB table\n const dynamoDbTable = app.addModule(CoreDynamo, { protect });\n\n // Setup VPC\n const vpcEnabled = app.getParam(projectAppParams?.vpc) ?? isProduction;\n const vpc = vpcEnabled ? app.addModule(CoreVpc) : null;\n\n // Setup Cognito\n const cognito = app.addModule(CoreCognito, {\n protect,\n useEmailAsUsername: legacyConfig.useEmailAsUsername ?? false\n });\n\n // Setup event bus\n const eventBus = app.addModule(CoreEventBus);\n\n // Setup file core bucket\n const { bucket: fileManagerBucket } = app.addModule(CoreFileManger, { protect });\n\n const elasticSearch = app.getParam(projectAppParams?.elasticSearch)\n ? app.addModule(ElasticSearch, { protect })\n : null;\n\n app.addOutputs({\n fileManagerBucketId: fileManagerBucket.output.id,\n primaryDynamodbTableArn: dynamoDbTable.output.arn,\n primaryDynamodbTableName: dynamoDbTable.output.name,\n primaryDynamodbTableHashKey: dynamoDbTable.output.hashKey,\n primaryDynamodbTableRangeKey: dynamoDbTable.output.rangeKey,\n cognitoUserPoolId: cognito.userPool.output.id,\n cognitoUserPoolArn: cognito.userPool.output.arn,\n cognitoUserPoolPasswordPolicy: cognito.userPool.output.passwordPolicy,\n cognitoAppClientId: cognito.userPoolClient.output.id,\n eventBusArn: eventBus.output.arn\n });\n\n tagResources({\n WbyProjectName: String(process.env[\"WEBINY_PROJECT_NAME\"]),\n WbyEnvironment: String(process.env[\"WEBINY_ENV\"])\n });\n\n return {\n dynamoDbTable,\n vpc,\n ...cognito,\n fileManagerBucket,\n eventBus,\n elasticSearch\n };\n }\n });\n\n return app;\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/pulumi-aws",
3
- "version": "5.37.2-beta.1",
3
+ "version": "5.37.2-beta.3",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/webiny/webiny-js.git"
@@ -15,8 +15,8 @@
15
15
  "dependencies": {
16
16
  "@pulumi/aws": "^5.8.0",
17
17
  "@pulumi/pulumi": "^3.34.0",
18
- "@webiny/cli-plugin-deploy-pulumi": "5.37.2-beta.1",
19
- "@webiny/pulumi": "5.37.2-beta.1",
18
+ "@webiny/cli-plugin-deploy-pulumi": "5.37.2-beta.3",
19
+ "@webiny/pulumi": "5.37.2-beta.3",
20
20
  "form-data": "4.0.0",
21
21
  "node-fetch": "2.6.9"
22
22
  },
@@ -26,10 +26,10 @@
26
26
  "@babel/preset-env": "7.22.7",
27
27
  "@babel/preset-typescript": "7.22.5",
28
28
  "@babel/runtime": "7.22.6",
29
- "@webiny/api-page-builder": "5.37.2-beta.1",
30
- "@webiny/aws-layers": "5.37.2-beta.1",
31
- "@webiny/cli": "5.37.2-beta.1",
32
- "@webiny/project-utils": "5.37.2-beta.1",
29
+ "@webiny/api-page-builder": "5.37.2-beta.3",
30
+ "@webiny/aws-layers": "5.37.2-beta.3",
31
+ "@webiny/cli": "5.37.2-beta.3",
32
+ "@webiny/project-utils": "5.37.2-beta.3",
33
33
  "chalk": "4.1.2",
34
34
  "lodash": "4.17.21",
35
35
  "mime": "2.6.0",
@@ -49,5 +49,5 @@
49
49
  ]
50
50
  }
51
51
  },
52
- "gitHead": "154f92c422ca0f8985474c75bf2763eca1de5052"
52
+ "gitHead": "e69288bf5e710060b14497aae8317034c6cb4bcc"
53
53
  }