@webiny/pulumi-aws 0.0.0-unstable.e53eceafb5 → 0.0.0-unstable.eb196ccd2f

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.
@@ -13,6 +13,7 @@ const createAdminPulumiApp = projectAppParams => {
13
13
  });
14
14
  adminApp.addHandler(() => {
15
15
  const cdn = adminApp.resources.cloudfront;
16
+ cdn.config.waitForDeployment(true);
16
17
  adminApp.addServiceManifest({
17
18
  name: "admin",
18
19
  manifest: {
@@ -1 +1 @@
1
- {"version":3,"names":["_","require","createAdminPulumiApp","projectAppParams","adminApp","createReactPulumiApp","name","folder","addHandler","cdn","resources","cloudfront","addServiceManifest","manifest","distributionId","output","id","domainName","exports"],"sources":["createAdminPulumiApp.ts"],"sourcesContent":["import type { PulumiAppParam, PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport type { CustomDomainParams } from \"~/apps\";\nimport { createReactPulumiApp } from \"~/apps\";\n\nexport type AdminPulumiApp = ReturnType<typeof createReactPulumiApp>;\n\nexport interface CreateAdminPulumiAppParams {\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: AdminPulumiApp) => 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 createAdminPulumiApp = (projectAppParams: CreateAdminPulumiAppParams) => {\n const adminApp = createReactPulumiApp({\n name: \"admin\",\n folder: \"apps/admin\",\n ...projectAppParams\n });\n\n adminApp.addHandler(() => {\n const cdn = adminApp.resources.cloudfront;\n\n adminApp.addServiceManifest({\n name: \"admin\",\n manifest: {\n cloudfront: {\n distributionId: cdn.output.id,\n domainName: cdn.output.domainName\n }\n }\n });\n });\n\n return adminApp;\n};\n"],"mappings":";;;;;;AAEA,IAAAA,CAAA,GAAAC,OAAA;AA2BO,MAAMC,oBAAoB,GAAIC,gBAA4C,IAAK;EAClF,MAAMC,QAAQ,GAAG,IAAAC,sBAAoB,EAAC;IAClCC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,YAAY;IACpB,GAAGJ;EACP,CAAC,CAAC;EAEFC,QAAQ,CAACI,UAAU,CAAC,MAAM;IACtB,MAAMC,GAAG,GAAGL,QAAQ,CAACM,SAAS,CAACC,UAAU;IAEzCP,QAAQ,CAACQ,kBAAkB,CAAC;MACxBN,IAAI,EAAE,OAAO;MACbO,QAAQ,EAAE;QACNF,UAAU,EAAE;UACRG,cAAc,EAAEL,GAAG,CAACM,MAAM,CAACC,EAAE;UAC7BC,UAAU,EAAER,GAAG,CAACM,MAAM,CAACE;QAC3B;MACJ;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOb,QAAQ;AACnB,CAAC;AAACc,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_","require","createAdminPulumiApp","projectAppParams","adminApp","createReactPulumiApp","name","folder","addHandler","cdn","resources","cloudfront","config","waitForDeployment","addServiceManifest","manifest","distributionId","output","id","domainName","exports"],"sources":["createAdminPulumiApp.ts"],"sourcesContent":["import type { PulumiAppParam, PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport type { CustomDomainParams } from \"~/apps\";\nimport { createReactPulumiApp } from \"~/apps\";\n\nexport type AdminPulumiApp = ReturnType<typeof createReactPulumiApp>;\n\nexport interface CreateAdminPulumiAppParams {\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: AdminPulumiApp) => 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 createAdminPulumiApp = (projectAppParams: CreateAdminPulumiAppParams) => {\n const adminApp = createReactPulumiApp({\n name: \"admin\",\n folder: \"apps/admin\",\n ...projectAppParams\n });\n\n adminApp.addHandler(() => {\n const cdn = adminApp.resources.cloudfront;\n\n cdn.config.waitForDeployment(true);\n\n adminApp.addServiceManifest({\n name: \"admin\",\n manifest: {\n cloudfront: {\n distributionId: cdn.output.id,\n domainName: cdn.output.domainName\n }\n }\n });\n });\n\n return adminApp;\n};\n"],"mappings":";;;;;;AAEA,IAAAA,CAAA,GAAAC,OAAA;AA2BO,MAAMC,oBAAoB,GAAIC,gBAA4C,IAAK;EAClF,MAAMC,QAAQ,GAAG,IAAAC,sBAAoB,EAAC;IAClCC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,YAAY;IACpB,GAAGJ;EACP,CAAC,CAAC;EAEFC,QAAQ,CAACI,UAAU,CAAC,MAAM;IACtB,MAAMC,GAAG,GAAGL,QAAQ,CAACM,SAAS,CAACC,UAAU;IAEzCF,GAAG,CAACG,MAAM,CAACC,iBAAiB,CAAC,IAAI,CAAC;IAElCT,QAAQ,CAACU,kBAAkB,CAAC;MACxBR,IAAI,EAAE,OAAO;MACbS,QAAQ,EAAE;QACNJ,UAAU,EAAE;UACRK,cAAc,EAAEP,GAAG,CAACQ,MAAM,CAACC,EAAE;UAC7BC,UAAU,EAAEV,GAAG,CAACQ,MAAM,CAACE;QAC3B;MACJ;IACJ,CAAC,CAAC;EACN,CAAC,CAAC;EAEF,OAAOf,QAAQ;AACnB,CAAC;AAACgB,OAAA,CAAAlB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
@@ -16,7 +16,7 @@ const ApiCloudfront = exports.ApiCloudfront = (0, _pulumi.createAppModule)({
16
16
  forward: "whitelist",
17
17
  whitelistedNames: ["wby-id-token"]
18
18
  };
19
- const forwardHeaders = ["Origin", "Accept", "Accept-Language"];
19
+ const forwardHeaders = ["Origin", "Authorization", "Accept", "Accept-Language", "X-Tenant", "X-I18n-Locale"];
20
20
  return app.addResource(aws.cloudfront.Distribution, {
21
21
  name: "api-cloudfront",
22
22
  config: {
@@ -47,12 +47,26 @@ const ApiCloudfront = exports.ApiCloudfront = (0, _pulumi.createAppModule)({
47
47
  cookies: {
48
48
  forward: "none"
49
49
  },
50
- headers: ["Accept", "Accept-Language"],
50
+ headers: forwardHeaders,
51
51
  queryString: true
52
52
  },
53
53
  pathPattern: "/cms*",
54
54
  viewerProtocolPolicy: "allow-all",
55
55
  targetOriginId: gateway.api.output.name
56
+ }, {
57
+ compress: true,
58
+ allowedMethods: ["GET", "HEAD", "OPTIONS", "PUT", "POST", "PATCH", "DELETE"],
59
+ cachedMethods: ["GET", "HEAD", "OPTIONS"],
60
+ forwardedValues: {
61
+ cookies: {
62
+ forward: "none"
63
+ },
64
+ headers: forwardHeaders,
65
+ queryString: true
66
+ },
67
+ pathPattern: "/wb/*",
68
+ viewerProtocolPolicy: "allow-all",
69
+ targetOriginId: gateway.api.output.name
56
70
  }, {
57
71
  allowedMethods: ["HEAD", "GET", "OPTIONS"],
58
72
  cachedMethods: ["HEAD", "GET", "OPTIONS"],
@@ -1 +1 @@
1
- {"version":3,"names":["aws","_interopRequireWildcard","require","_pulumi","_ApiGateway","ApiCloudfront","exports","createAppModule","name","config","app","gateway","getModule","ApiGateway","cookies","forward","whitelistedNames","forwardHeaders","addResource","cloudfront","Distribution","waitForDeployment","isIpv6Enabled","enabled","defaultCacheBehavior","compress","allowedMethods","cachedMethods","forwardedValues","headers","queryString","minTtl","defaultTtl","maxTtl","targetOriginId","api","output","viewerProtocolPolicy","orderedCacheBehaviors","pathPattern","origins","domainName","stage","invokeUrl","apply","url","URL","hostname","originPath","pathname","originId","customOriginConfig","httpPort","httpsPort","originProtocolPolicy","originSslProtocols","restrictions","geoRestriction","restrictionType","viewerCertificate","cloudfrontDefaultCertificate","opts","ignoreChanges"],"sources":["ApiCloudfront.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nimport { ApiGateway } from \"./ApiGateway\";\n\nexport type ApiCloudfront = PulumiAppModule<typeof ApiCloudfront>;\n\nexport const ApiCloudfront = createAppModule({\n name: \"ApiCloudfront\",\n config(app: PulumiApp) {\n const gateway = app.getModule(ApiGateway);\n\n const cookies = {\n forward: \"whitelist\",\n whitelistedNames: [\"wby-id-token\"]\n };\n\n const forwardHeaders = [\"Origin\", \"Accept\", \"Accept-Language\"];\n\n return app.addResource(aws.cloudfront.Distribution, {\n name: \"api-cloudfront\",\n config: {\n waitForDeployment: false,\n isIpv6Enabled: true,\n enabled: true,\n defaultCacheBehavior: {\n compress: true,\n allowedMethods: [\"GET\", \"HEAD\", \"OPTIONS\", \"PUT\", \"POST\", \"PATCH\", \"DELETE\"],\n cachedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n forwardedValues: {\n cookies,\n headers: forwardHeaders,\n queryString: true\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 0,\n maxTtl: 86400,\n targetOriginId: gateway.api.output.name,\n viewerProtocolPolicy: \"allow-all\"\n },\n orderedCacheBehaviors: [\n {\n compress: true,\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PUT\",\n \"POST\",\n \"PATCH\",\n \"DELETE\"\n ],\n cachedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n forwardedValues: {\n cookies: {\n forward: \"none\"\n },\n headers: [\"Accept\", \"Accept-Language\"],\n queryString: true\n },\n pathPattern: \"/cms*\",\n viewerProtocolPolicy: \"allow-all\",\n targetOriginId: gateway.api.output.name\n },\n {\n allowedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n cachedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n forwardedValues: {\n cookies: {\n forward: \"none\"\n },\n headers: forwardHeaders,\n queryString: true\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 0,\n maxTtl: 2592000,\n pathPattern: \"/files/*\",\n viewerProtocolPolicy: \"allow-all\",\n targetOriginId: gateway.api.output.name\n },\n {\n allowedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n cachedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n forwardedValues: {\n cookies: cookies,\n headers: forwardHeaders,\n queryString: true\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 0,\n maxTtl: 2592000,\n pathPattern: \"/private/*\",\n viewerProtocolPolicy: \"allow-all\",\n targetOriginId: gateway.api.output.name\n }\n ],\n origins: [\n {\n domainName: gateway.stage.output.invokeUrl.apply(\n (url: string) => new URL(url).hostname\n ),\n originPath: gateway.stage.output.invokeUrl.apply(\n (url: string) => new URL(url).pathname\n ),\n originId: gateway.api.output.name,\n customOriginConfig: {\n httpPort: 80,\n httpsPort: 443,\n originProtocolPolicy: \"https-only\",\n originSslProtocols: [\"TLSv1.2\"]\n }\n }\n ],\n restrictions: {\n geoRestriction: {\n restrictionType: \"none\"\n }\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true\n }\n },\n opts: {\n // We are ignoring changes to the \"staging\" property. This is because of the following.\n // With the 5.41.0 release of Webiny, we also upgraded Pulumi to v6. This introduced a change\n // with how Cloudfront distributions are deployed, where Pulumi now also controls the new\n // `staging` property.\n // If not set, Pulumi will default it to `false`. Which is fine, but, the problem is\n // that, because this property did not exist before, it will always be considered as a change\n // upon deployment.\n // We might think this is fine, but, the problem is that a change in this property causes\n // a full replacement of the Cloudfront distribution, which is not acceptable. Especially\n // if a custom domain has already been associated with the distribution. This then would\n // require the user to disassociate the domain, wait for the distribution to be replaced,\n // and then re-associate the domain. This is not a good experience.\n ignoreChanges: [\"staging\"]\n }\n });\n }\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["aws","_interopRequireWildcard","require","_pulumi","_ApiGateway","ApiCloudfront","exports","createAppModule","name","config","app","gateway","getModule","ApiGateway","cookies","forward","whitelistedNames","forwardHeaders","addResource","cloudfront","Distribution","waitForDeployment","isIpv6Enabled","enabled","defaultCacheBehavior","compress","allowedMethods","cachedMethods","forwardedValues","headers","queryString","minTtl","defaultTtl","maxTtl","targetOriginId","api","output","viewerProtocolPolicy","orderedCacheBehaviors","pathPattern","origins","domainName","stage","invokeUrl","apply","url","URL","hostname","originPath","pathname","originId","customOriginConfig","httpPort","httpsPort","originProtocolPolicy","originSslProtocols","restrictions","geoRestriction","restrictionType","viewerCertificate","cloudfrontDefaultCertificate","opts","ignoreChanges"],"sources":["ApiCloudfront.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiApp, PulumiAppModule } from \"@webiny/pulumi\";\nimport { createAppModule } from \"@webiny/pulumi\";\n\nimport { ApiGateway } from \"./ApiGateway\";\n\nexport type ApiCloudfront = PulumiAppModule<typeof ApiCloudfront>;\n\nexport const ApiCloudfront = createAppModule({\n name: \"ApiCloudfront\",\n config(app: PulumiApp) {\n const gateway = app.getModule(ApiGateway);\n\n const cookies = {\n forward: \"whitelist\",\n whitelistedNames: [\"wby-id-token\"]\n };\n\n const forwardHeaders = [\"Origin\", \"Authorization\", \"Accept\", \"Accept-Language\", \"X-Tenant\", \"X-I18n-Locale\"];\n\n return app.addResource(aws.cloudfront.Distribution, {\n name: \"api-cloudfront\",\n config: {\n waitForDeployment: false,\n isIpv6Enabled: true,\n enabled: true,\n defaultCacheBehavior: {\n compress: true,\n allowedMethods: [\"GET\", \"HEAD\", \"OPTIONS\", \"PUT\", \"POST\", \"PATCH\", \"DELETE\"],\n cachedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n forwardedValues: {\n cookies,\n headers: forwardHeaders,\n queryString: true\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 0,\n maxTtl: 86400,\n targetOriginId: gateway.api.output.name,\n viewerProtocolPolicy: \"allow-all\"\n },\n orderedCacheBehaviors: [\n {\n compress: true,\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PUT\",\n \"POST\",\n \"PATCH\",\n \"DELETE\"\n ],\n cachedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n forwardedValues: {\n cookies: {\n forward: \"none\"\n },\n headers: forwardHeaders,\n queryString: true\n },\n pathPattern: \"/cms*\",\n viewerProtocolPolicy: \"allow-all\",\n targetOriginId: gateway.api.output.name\n },\n {\n compress: true,\n allowedMethods: [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"PUT\",\n \"POST\",\n \"PATCH\",\n \"DELETE\"\n ],\n cachedMethods: [\"GET\", \"HEAD\", \"OPTIONS\"],\n forwardedValues: {\n cookies: {\n forward: \"none\"\n },\n headers: forwardHeaders,\n queryString: true\n },\n pathPattern: \"/wb/*\",\n viewerProtocolPolicy: \"allow-all\",\n targetOriginId: gateway.api.output.name\n },\n {\n allowedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n cachedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n forwardedValues: {\n cookies: {\n forward: \"none\"\n },\n headers: forwardHeaders,\n queryString: true\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 0,\n maxTtl: 2592000,\n pathPattern: \"/files/*\",\n viewerProtocolPolicy: \"allow-all\",\n targetOriginId: gateway.api.output.name\n },\n {\n allowedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n cachedMethods: [\"HEAD\", \"GET\", \"OPTIONS\"],\n forwardedValues: {\n cookies: cookies,\n headers: forwardHeaders,\n queryString: true\n },\n // MinTTL <= DefaultTTL <= MaxTTL\n minTtl: 0,\n defaultTtl: 0,\n maxTtl: 2592000,\n pathPattern: \"/private/*\",\n viewerProtocolPolicy: \"allow-all\",\n targetOriginId: gateway.api.output.name\n }\n ],\n origins: [\n {\n domainName: gateway.stage.output.invokeUrl.apply(\n (url: string) => new URL(url).hostname\n ),\n originPath: gateway.stage.output.invokeUrl.apply(\n (url: string) => new URL(url).pathname\n ),\n originId: gateway.api.output.name,\n customOriginConfig: {\n httpPort: 80,\n httpsPort: 443,\n originProtocolPolicy: \"https-only\",\n originSslProtocols: [\"TLSv1.2\"]\n }\n }\n ],\n restrictions: {\n geoRestriction: {\n restrictionType: \"none\"\n }\n },\n viewerCertificate: {\n cloudfrontDefaultCertificate: true\n }\n },\n opts: {\n // We are ignoring changes to the \"staging\" property. This is because of the following.\n // With the 5.41.0 release of Webiny, we also upgraded Pulumi to v6. This introduced a change\n // with how Cloudfront distributions are deployed, where Pulumi now also controls the new\n // `staging` property.\n // If not set, Pulumi will default it to `false`. Which is fine, but, the problem is\n // that, because this property did not exist before, it will always be considered as a change\n // upon deployment.\n // We might think this is fine, but, the problem is that a change in this property causes\n // a full replacement of the Cloudfront distribution, which is not acceptable. Especially\n // if a custom domain has already been associated with the distribution. This then would\n // require the user to disassociate the domain, wait for the distribution to be replaced,\n // and then re-associate the domain. This is not a good experience.\n ignoreChanges: [\"staging\"]\n }\n });\n }\n});\n"],"mappings":";;;;;;;AAAA,IAAAA,GAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAIO,MAAMG,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,IAAAE,uBAAe,EAAC;EACzCC,IAAI,EAAE,eAAe;EACrBC,MAAMA,CAACC,GAAc,EAAE;IACnB,MAAMC,OAAO,GAAGD,GAAG,CAACE,SAAS,CAACC,sBAAU,CAAC;IAEzC,MAAMC,OAAO,GAAG;MACZC,OAAO,EAAE,WAAW;MACpBC,gBAAgB,EAAE,CAAC,cAAc;IACrC,CAAC;IAED,MAAMC,cAAc,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,eAAe,CAAC;IAE5G,OAAOP,GAAG,CAACQ,WAAW,CAAClB,GAAG,CAACmB,UAAU,CAACC,YAAY,EAAE;MAChDZ,IAAI,EAAE,gBAAgB;MACtBC,MAAM,EAAE;QACJY,iBAAiB,EAAE,KAAK;QACxBC,aAAa,EAAE,IAAI;QACnBC,OAAO,EAAE,IAAI;QACbC,oBAAoB,EAAE;UAClBC,QAAQ,EAAE,IAAI;UACdC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;UAC5EC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;UACzCC,eAAe,EAAE;YACbd,OAAO;YACPe,OAAO,EAAEZ,cAAc;YACvBa,WAAW,EAAE;UACjB,CAAC;UACD;UACAC,MAAM,EAAE,CAAC;UACTC,UAAU,EAAE,CAAC;UACbC,MAAM,EAAE,KAAK;UACbC,cAAc,EAAEvB,OAAO,CAACwB,GAAG,CAACC,MAAM,CAAC5B,IAAI;UACvC6B,oBAAoB,EAAE;QAC1B,CAAC;QACDC,qBAAqB,EAAE,CACnB;UACIb,QAAQ,EAAE,IAAI;UACdC,cAAc,EAAE,CACZ,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,CACX;UACDC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;UACzCC,eAAe,EAAE;YACbd,OAAO,EAAE;cACLC,OAAO,EAAE;YACb,CAAC;YACDc,OAAO,EAAEZ,cAAc;YACvBa,WAAW,EAAE;UACjB,CAAC;UACDS,WAAW,EAAE,OAAO;UACpBF,oBAAoB,EAAE,WAAW;UACjCH,cAAc,EAAEvB,OAAO,CAACwB,GAAG,CAACC,MAAM,CAAC5B;QACvC,CAAC,EACD;UACIiB,QAAQ,EAAE,IAAI;UACdC,cAAc,EAAE,CACZ,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,CACX;UACDC,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;UACzCC,eAAe,EAAE;YACbd,OAAO,EAAE;cACLC,OAAO,EAAE;YACb,CAAC;YACDc,OAAO,EAAEZ,cAAc;YACvBa,WAAW,EAAE;UACjB,CAAC;UACDS,WAAW,EAAE,OAAO;UACpBF,oBAAoB,EAAE,WAAW;UACjCH,cAAc,EAAEvB,OAAO,CAACwB,GAAG,CAACC,MAAM,CAAC5B;QACvC,CAAC,EACD;UACIkB,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;UAC1CC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;UACzCC,eAAe,EAAE;YACbd,OAAO,EAAE;cACLC,OAAO,EAAE;YACb,CAAC;YACDc,OAAO,EAAEZ,cAAc;YACvBa,WAAW,EAAE;UACjB,CAAC;UACD;UACAC,MAAM,EAAE,CAAC;UACTC,UAAU,EAAE,CAAC;UACbC,MAAM,EAAE,OAAO;UACfM,WAAW,EAAE,UAAU;UACvBF,oBAAoB,EAAE,WAAW;UACjCH,cAAc,EAAEvB,OAAO,CAACwB,GAAG,CAACC,MAAM,CAAC5B;QACvC,CAAC,EACD;UACIkB,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;UAC1CC,aAAa,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC;UACzCC,eAAe,EAAE;YACbd,OAAO,EAAEA,OAAO;YAChBe,OAAO,EAAEZ,cAAc;YACvBa,WAAW,EAAE;UACjB,CAAC;UACD;UACAC,MAAM,EAAE,CAAC;UACTC,UAAU,EAAE,CAAC;UACbC,MAAM,EAAE,OAAO;UACfM,WAAW,EAAE,YAAY;UACzBF,oBAAoB,EAAE,WAAW;UACjCH,cAAc,EAAEvB,OAAO,CAACwB,GAAG,CAACC,MAAM,CAAC5B;QACvC,CAAC,CACJ;QACDgC,OAAO,EAAE,CACL;UACIC,UAAU,EAAE9B,OAAO,CAAC+B,KAAK,CAACN,MAAM,CAACO,SAAS,CAACC,KAAK,CAC3CC,GAAW,IAAK,IAAIC,GAAG,CAACD,GAAG,CAAC,CAACE,QAClC,CAAC;UACDC,UAAU,EAAErC,OAAO,CAAC+B,KAAK,CAACN,MAAM,CAACO,SAAS,CAACC,KAAK,CAC3CC,GAAW,IAAK,IAAIC,GAAG,CAACD,GAAG,CAAC,CAACI,QAClC,CAAC;UACDC,QAAQ,EAAEvC,OAAO,CAACwB,GAAG,CAACC,MAAM,CAAC5B,IAAI;UACjC2C,kBAAkB,EAAE;YAChBC,QAAQ,EAAE,EAAE;YACZC,SAAS,EAAE,GAAG;YACdC,oBAAoB,EAAE,YAAY;YAClCC,kBAAkB,EAAE,CAAC,SAAS;UAClC;QACJ,CAAC,CACJ;QACDC,YAAY,EAAE;UACVC,cAAc,EAAE;YACZC,eAAe,EAAE;UACrB;QACJ,CAAC;QACDC,iBAAiB,EAAE;UACfC,4BAA4B,EAAE;QAClC;MACJ,CAAC;MACDC,IAAI,EAAE;QACF;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACAC,aAAa,EAAE,CAAC,SAAS;MAC7B;IACJ,CAAC,CAAC;EACN;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -71,21 +71,25 @@ const createApiPulumiApp = (projectAppParams = {}) => {
71
71
  app.addModule(_.VpcConfig, {
72
72
  enabled: vpcEnabled
73
73
  });
74
- const pageBuilder = app.addModule(_.ApiPageBuilder, {
75
- env: {
76
- COGNITO_REGION: (0, _awsRegion.getEnvVariableAwsRegion)(),
77
- COGNITO_USER_POOL_ID: core.cognitoUserPoolId,
78
- DB_TABLE: core.primaryDynamodbTableName,
79
- DB_TABLE_LOG: core.logDynamodbTableName,
80
- DB_TABLE_ELASTICSEARCH: core.elasticsearchDynamodbTableName,
81
- ELASTIC_SEARCH_ENDPOINT: core.elasticsearchDomainEndpoint,
82
- // Not required. Useful for testing purposes / ephemeral environments.
83
- // https://www.webiny.com/docs/key-topics/ci-cd/testing/slow-ephemeral-environments
84
- ELASTIC_SEARCH_INDEX_PREFIX: process.env.ELASTIC_SEARCH_INDEX_PREFIX,
85
- ELASTICSEARCH_SHARED_INDEXES: process.env.ELASTICSEARCH_SHARED_INDEXES,
86
- S3_BUCKET: core.fileManagerBucketId
87
- }
88
- });
74
+
75
+ // const pageBuilder = app.addModule(ApiPageBuilder, {
76
+ // env: {
77
+ // COGNITO_REGION: getEnvVariableAwsRegion(),
78
+ // COGNITO_USER_POOL_ID: core.cognitoUserPoolId,
79
+ // DB_TABLE: core.primaryDynamodbTableName,
80
+ // DB_TABLE_LOG: core.logDynamodbTableName,
81
+ // DB_TABLE_ELASTICSEARCH: core.elasticsearchDynamodbTableName,
82
+ // ELASTIC_SEARCH_ENDPOINT: core.elasticsearchDomainEndpoint,
83
+ //
84
+ // // Not required. Useful for testing purposes / ephemeral environments.
85
+ // // https://www.webiny.com/docs/key-topics/ci-cd/testing/slow-ephemeral-environments
86
+ // ELASTIC_SEARCH_INDEX_PREFIX: process.env.ELASTIC_SEARCH_INDEX_PREFIX,
87
+ // ELASTICSEARCH_SHARED_INDEXES: process.env.ELASTICSEARCH_SHARED_INDEXES,
88
+ //
89
+ // S3_BUCKET: core.fileManagerBucketId
90
+ // }
91
+ // });
92
+
89
93
  const apwScheduler = app.addModule(_.ApiApwScheduler, {
90
94
  primaryDynamodbTableArn: core.primaryDynamodbTableArn,
91
95
  env: {
@@ -110,8 +114,8 @@ const createApiPulumiApp = (projectAppParams = {}) => {
110
114
  ELASTICSEARCH_SHARED_INDEXES: process.env.ELASTICSEARCH_SHARED_INDEXES,
111
115
  S3_BUCKET: core.fileManagerBucketId,
112
116
  EVENT_BUS: core.eventBusArn,
113
- IMPORT_CREATE_HANDLER: pageBuilder.import.functions.create.output.arn,
114
- EXPORT_PROCESS_HANDLER: pageBuilder.export.functions.process.output.arn,
117
+ // IMPORT_CREATE_HANDLER: pageBuilder.import.functions.create.output.arn,
118
+ // EXPORT_PROCESS_HANDLER: pageBuilder.export.functions.process.output.arn,
115
119
  // TODO: move to okta plugin
116
120
  OKTA_ISSUER: process.env["OKTA_ISSUER"],
117
121
  APW_SCHEDULER_SCHEDULE_ACTION_HANDLER: apwScheduler.scheduleAction.lambda.output.arn
@@ -157,6 +161,16 @@ const createApiPulumiApp = (projectAppParams = {}) => {
157
161
  method: "OPTIONS",
158
162
  function: graphql.functions.graphql.output.arn
159
163
  },
164
+ "redirects-get": {
165
+ path: "/wb/redirects",
166
+ method: "GET",
167
+ function: graphql.functions.graphql.output.arn
168
+ },
169
+ "redirects-options": {
170
+ path: "/wb/redirects",
171
+ method: "OPTIONS",
172
+ function: graphql.functions.graphql.output.arn
173
+ },
160
174
  "files-catch-all": {
161
175
  path: "/{path+}",
162
176
  method: "ANY",
@@ -1 +1 @@
1
- {"version":3,"names":["aws","_interopRequireWildcard","require","_pulumi","_","_customDomain","_utils","_constants","_variant","_env","_projectName","_awsRegion","_index","_awsUtils","_ApiScheduler","createApiPulumiApp","projectAppParams","baseApp","createPulumiApp","name","path","config","program","app","searchEngineParams","openSearch","getParam","elasticSearch","params","domainName","process","env","AWS_ELASTIC_SEARCH_DOMAIN_NAME","indexPrefix","ELASTIC_SEARCH_INDEX_PREFIX","sharedIndexes","ELASTICSEARCH_SHARED_INDEXES","pulumiResourceNamePrefix","onResource","resource","startsWith","pulumi","addHandler","productionEnvironments","create","DEFAULT_PROD_ENV_NAMES","isProduction","includes","run","core","addModule","CoreOutput","vpcEnabled","vpc","VpcConfig","enabled","pageBuilder","ApiPageBuilder","COGNITO_REGION","getEnvVariableAwsRegion","COGNITO_USER_POOL_ID","cognitoUserPoolId","DB_TABLE","primaryDynamodbTableName","DB_TABLE_LOG","logDynamodbTableName","DB_TABLE_ELASTICSEARCH","elasticsearchDynamodbTableName","ELASTIC_SEARCH_ENDPOINT","elasticsearchDomainEndpoint","S3_BUCKET","fileManagerBucketId","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","websocket","ApiWebsocket","fileManager","ApiFileManager","apiGateway","ApiGateway","method","function","download","cloudfront","ApiCloudfront","backgroundTask","ApiBackgroundTask","migration","ApiMigration","scheduler","ApiScheduler","domains","applyCustomDomain","addOutputs","awsAccountId","getAwsAccountId","region","cognitoAppClientId","cognitoUserPoolPasswordPolicy","apwSchedulerScheduleAction","apwSchedulerExecuteAction","executeAction","apwSchedulerEventTargetId","targetId","dynamoDbTable","migrationLambdaArn","graphqlLambdaName","graphqlLambdaRole","role","graphqlLambdaRoleName","backgroundTaskLambdaArn","backgroundTaskStepFunctionArn","stepFunction","fileManagerManageLambdaArn","manage","fileManagerManageLambdaRole","roles","fileManagerManageLambdaRoleName","fileManagerDownloadLambdaArn","websocketApiId","websocketApi","id","websocketApiUrl","schedulerLambdaInvokeRole","invokeRole","dynamoDbElasticsearchTable","addDomainsUrlsOutputs","cloudfrontDistribution","map","distributionDomain","distributionUrl","usedDomain","usedUrl","attachSyncSystem","tagResources","WbyProjectName","getEnvVariableWebinyProjectName","WbyEnvironment","getEnvVariableWebinyEnv","WbyEnvironmentVariant","getEnvVariableWebinyVariant","withServiceManifest","withCommonLambdaEnvVariables","addServiceManifest","manifest","bgTaskSfn","resources","distributionId","lambdaArn","roleArn","exports"],"sources":["createApiPulumiApp.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiAppParam, PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport { createPulumiApp, type PulumiApp } from \"@webiny/pulumi\";\nimport type { CreateCorePulumiAppParams } from \"~/apps\";\nimport {\n ApiApwScheduler,\n ApiBackgroundTask,\n ApiCloudfront,\n ApiFileManager,\n ApiGateway,\n ApiGraphql,\n ApiMigration,\n ApiPageBuilder,\n ApiWebsocket,\n CoreOutput,\n VpcConfig\n} from \"~/apps\";\nimport type { CustomDomainParams } from \"../customDomain\";\nimport { applyCustomDomain } from \"../customDomain\";\nimport {\n addDomainsUrlsOutputs,\n tagResources,\n withCommonLambdaEnvVariables,\n withServiceManifest\n} from \"~/utils\";\nimport { DEFAULT_PROD_ENV_NAMES } from \"~/constants\";\nimport { getEnvVariableWebinyVariant } from \"~/env/variant\";\nimport { getEnvVariableWebinyEnv } from \"~/env/env\";\nimport { getEnvVariableWebinyProjectName } from \"~/env/projectName\";\nimport { getEnvVariableAwsRegion } from \"~/env/awsRegion\";\nimport { attachSyncSystem } from \"../syncSystem/api/index.js\";\nimport { getAwsAccountId } from \"~/apps/awsUtils\";\nimport type { WithServiceManifest } from \"~/utils/withServiceManifest.js\";\nimport { ApiScheduler } from \"~/apps/api/ApiScheduler.js\";\n\nexport type ApiPulumiApp = ReturnType<typeof createApiPulumiApp>;\n\nexport interface ApiElasticsearchConfig {\n domainName: string;\n indexPrefix: string;\n sharedIndexes: boolean;\n}\n\nexport interface ApiOpenSearchConfig {\n domainName: string;\n indexPrefix: string;\n sharedIndexes: boolean;\n}\n\nexport interface CreateApiPulumiAppParams {\n /**\n * Enables ElasticSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n elasticSearch?: PulumiAppParam<boolean | Partial<ApiElasticsearchConfig>>;\n\n /**\n * Enables OpenSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n openSearch?: PulumiAppParam<boolean | Partial<ApiOpenSearchConfig>>;\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 baseApp = createPulumiApp({\n name: \"api\",\n path: \"apps/api\",\n config: projectAppParams,\n program: async (app: PulumiApp & WithServiceManifest) => {\n let searchEngineParams:\n | CreateCorePulumiAppParams[\"openSearch\"]\n | CreateCorePulumiAppParams[\"elasticSearch\"]\n | null = null;\n\n if (projectAppParams.openSearch) {\n searchEngineParams = app.getParam(projectAppParams.openSearch);\n } else if (projectAppParams.elasticSearch) {\n searchEngineParams = app.getParam(projectAppParams.elasticSearch);\n }\n\n if (searchEngineParams) {\n const params = app.getParam(searchEngineParams);\n if (typeof params === \"object\") {\n if (params.domainName) {\n process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = params.domainName;\n }\n\n if (params.indexPrefix) {\n process.env.ELASTIC_SEARCH_INDEX_PREFIX = params.indexPrefix;\n }\n\n if (params.sharedIndexes) {\n process.env.ELASTICSEARCH_SHARED_INDEXES = \"true\";\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 =\n app.params.create.productionEnvironments || DEFAULT_PROD_ENV_NAMES;\n const isProduction = productionEnvironments.includes(app.params.run.env);\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: getEnvVariableAwsRegion(),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_LOG: core.logDynamodbTableName,\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 ELASTICSEARCH_SHARED_INDEXES: process.env.ELASTICSEARCH_SHARED_INDEXES,\n\n S3_BUCKET: core.fileManagerBucketId\n }\n });\n\n const apwScheduler = app.addModule(ApiApwScheduler, {\n primaryDynamodbTableArn: core.primaryDynamodbTableArn,\n\n env: {\n COGNITO_REGION: getEnvVariableAwsRegion(),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_LOG: core.logDynamodbTableName,\n S3_BUCKET: core.fileManagerBucketId\n }\n });\n\n const graphql = app.addModule(ApiGraphql, {\n env: {\n COGNITO_REGION: getEnvVariableAwsRegion(),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_LOG: core.logDynamodbTableName,\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 ELASTICSEARCH_SHARED_INDEXES: process.env.ELASTICSEARCH_SHARED_INDEXES,\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 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 websocket = app.addModule(ApiWebsocket);\n\n const fileManager = app.addModule(ApiFileManager, {\n env: {\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_LOG: core.logDynamodbTableName\n }\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 \"private-any\": {\n path: \"/private/{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 backgroundTask = app.addModule(ApiBackgroundTask);\n const migration = app.addModule(ApiMigration);\n const scheduler = app.addModule(ApiScheduler);\n\n const domains = app.getParam(projectAppParams.domains);\n if (domains) {\n applyCustomDomain(cloudfront, domains);\n }\n\n app.addOutputs({\n awsAccountId: getAwsAccountId(app),\n region: aws.config.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 migrationLambdaArn: migration.function.output.arn,\n graphqlLambdaName: graphql.functions.graphql.output.name,\n graphqlLambdaRole: graphql.role.output.arn,\n graphqlLambdaRoleName: graphql.role.output.name,\n backgroundTaskLambdaArn: backgroundTask.backgroundTask.output.arn,\n backgroundTaskStepFunctionArn: backgroundTask.stepFunction.output.arn,\n fileManagerManageLambdaArn: fileManager.functions.manage.output.arn,\n fileManagerManageLambdaRole: fileManager.roles.manage.output.arn,\n fileManagerManageLambdaRoleName: fileManager.roles.manage.output.name,\n fileManagerDownloadLambdaArn: fileManager.functions.download.output.arn,\n websocketApiId: websocket.websocketApi.output.id,\n websocketApiUrl: websocket.websocketApiUrl,\n schedulerLambdaInvokeRole: scheduler.invokeRole.output.arn\n });\n\n // Only add `dynamoDbElasticsearchTable` output if using search engine (ES/OS).\n if (searchEngineParams) {\n app.addOutputs({\n dynamoDbElasticsearchTable: core.elasticsearchDynamodbTableName\n });\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 * We need to attach the Sync System if it exists.\n */\n attachSyncSystem({\n app,\n core,\n env: app.params.run.env\n });\n\n tagResources({\n WbyProjectName: getEnvVariableWebinyProjectName(),\n WbyEnvironment: getEnvVariableWebinyEnv(),\n WbyEnvironmentVariant: getEnvVariableWebinyVariant()\n });\n\n return {\n fileManager,\n graphql,\n apiGateway,\n websocket,\n cloudfront,\n apwScheduler,\n migration,\n backgroundTask,\n scheduler\n };\n }\n });\n\n const app = withServiceManifest(withCommonLambdaEnvVariables(baseApp));\n\n app.addHandler(() => {\n app.addServiceManifest({\n name: \"api\",\n manifest: {\n bgTaskSfn: baseApp.resources.backgroundTask.stepFunction.output.arn,\n cloudfront: {\n distributionId: baseApp.resources.cloudfront.output.id\n }\n }\n });\n\n app.addServiceManifest({\n name: \"scheduler\",\n manifest: {\n lambdaArn: baseApp.resources.graphql.functions.graphql.output.arn,\n roleArn: baseApp.resources.scheduler.invokeRole.output.arn\n }\n });\n });\n\n return app;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["aws","_interopRequireWildcard","require","_pulumi","_","_customDomain","_utils","_constants","_variant","_env","_projectName","_awsRegion","_index","_awsUtils","_ApiScheduler","createApiPulumiApp","projectAppParams","baseApp","createPulumiApp","name","path","config","program","app","searchEngineParams","openSearch","getParam","elasticSearch","params","domainName","process","env","AWS_ELASTIC_SEARCH_DOMAIN_NAME","indexPrefix","ELASTIC_SEARCH_INDEX_PREFIX","sharedIndexes","ELASTICSEARCH_SHARED_INDEXES","pulumiResourceNamePrefix","onResource","resource","startsWith","pulumi","addHandler","productionEnvironments","create","DEFAULT_PROD_ENV_NAMES","isProduction","includes","run","core","addModule","CoreOutput","vpcEnabled","vpc","VpcConfig","enabled","apwScheduler","ApiApwScheduler","primaryDynamodbTableArn","COGNITO_REGION","getEnvVariableAwsRegion","COGNITO_USER_POOL_ID","cognitoUserPoolId","DB_TABLE","primaryDynamodbTableName","DB_TABLE_LOG","logDynamodbTableName","S3_BUCKET","fileManagerBucketId","graphql","ApiGraphql","DB_TABLE_ELASTICSEARCH","elasticsearchDynamodbTableName","ELASTIC_SEARCH_ENDPOINT","elasticsearchDomainEndpoint","EVENT_BUS","eventBusArn","OKTA_ISSUER","APW_SCHEDULER_SCHEDULE_ACTION_HANDLER","scheduleAction","lambda","output","arn","apwSchedulerEventRule","eventRule","apwSchedulerEventTarget","eventTarget","websocket","ApiWebsocket","fileManager","ApiFileManager","apiGateway","ApiGateway","method","function","functions","download","cloudfront","ApiCloudfront","backgroundTask","ApiBackgroundTask","migration","ApiMigration","scheduler","ApiScheduler","domains","applyCustomDomain","addOutputs","awsAccountId","getAwsAccountId","region","cognitoAppClientId","cognitoUserPoolPasswordPolicy","apwSchedulerScheduleAction","apwSchedulerExecuteAction","executeAction","apwSchedulerEventTargetId","targetId","dynamoDbTable","migrationLambdaArn","graphqlLambdaName","graphqlLambdaRole","role","graphqlLambdaRoleName","backgroundTaskLambdaArn","backgroundTaskStepFunctionArn","stepFunction","fileManagerManageLambdaArn","manage","fileManagerManageLambdaRole","roles","fileManagerManageLambdaRoleName","fileManagerDownloadLambdaArn","websocketApiId","websocketApi","id","websocketApiUrl","schedulerLambdaInvokeRole","invokeRole","dynamoDbElasticsearchTable","addDomainsUrlsOutputs","cloudfrontDistribution","map","distributionDomain","distributionUrl","usedDomain","usedUrl","attachSyncSystem","tagResources","WbyProjectName","getEnvVariableWebinyProjectName","WbyEnvironment","getEnvVariableWebinyEnv","WbyEnvironmentVariant","getEnvVariableWebinyVariant","withServiceManifest","withCommonLambdaEnvVariables","addServiceManifest","manifest","bgTaskSfn","resources","distributionId","lambdaArn","roleArn","exports"],"sources":["createApiPulumiApp.ts"],"sourcesContent":["import * as aws from \"@pulumi/aws\";\nimport type { PulumiAppParam, PulumiAppParamCallback } from \"@webiny/pulumi\";\nimport { createPulumiApp, type PulumiApp } from \"@webiny/pulumi\";\nimport type { CreateCorePulumiAppParams } from \"~/apps\";\nimport {\n ApiApwScheduler,\n ApiBackgroundTask,\n ApiCloudfront,\n ApiFileManager,\n ApiGateway,\n ApiGraphql,\n ApiMigration,\n ApiWebsocket,\n CoreOutput,\n VpcConfig\n} from \"~/apps\";\nimport type { CustomDomainParams } from \"../customDomain\";\nimport { applyCustomDomain } from \"../customDomain\";\nimport {\n addDomainsUrlsOutputs,\n tagResources,\n withCommonLambdaEnvVariables,\n withServiceManifest\n} from \"~/utils\";\nimport { DEFAULT_PROD_ENV_NAMES } from \"~/constants\";\nimport { getEnvVariableWebinyVariant } from \"~/env/variant\";\nimport { getEnvVariableWebinyEnv } from \"~/env/env\";\nimport { getEnvVariableWebinyProjectName } from \"~/env/projectName\";\nimport { getEnvVariableAwsRegion } from \"~/env/awsRegion\";\nimport { attachSyncSystem } from \"../syncSystem/api/index.js\";\nimport { getAwsAccountId } from \"~/apps/awsUtils\";\nimport type { WithServiceManifest } from \"~/utils/withServiceManifest.js\";\nimport { ApiScheduler } from \"~/apps/api/ApiScheduler.js\";\n\nexport type ApiPulumiApp = ReturnType<typeof createApiPulumiApp>;\n\nexport interface ApiElasticsearchConfig {\n domainName: string;\n indexPrefix: string;\n sharedIndexes: boolean;\n}\n\nexport interface ApiOpenSearchConfig {\n domainName: string;\n indexPrefix: string;\n sharedIndexes: boolean;\n}\n\nexport interface CreateApiPulumiAppParams {\n /**\n * Enables ElasticSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n elasticSearch?: PulumiAppParam<boolean | Partial<ApiElasticsearchConfig>>;\n\n /**\n * Enables OpenSearch infrastructure.\n * Note that it requires also changes in application code.\n */\n openSearch?: PulumiAppParam<boolean | Partial<ApiOpenSearchConfig>>;\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 baseApp = createPulumiApp({\n name: \"api\",\n path: \"apps/api\",\n config: projectAppParams,\n program: async (app: PulumiApp & WithServiceManifest) => {\n let searchEngineParams:\n | CreateCorePulumiAppParams[\"openSearch\"]\n | CreateCorePulumiAppParams[\"elasticSearch\"]\n | null = null;\n\n if (projectAppParams.openSearch) {\n searchEngineParams = app.getParam(projectAppParams.openSearch);\n } else if (projectAppParams.elasticSearch) {\n searchEngineParams = app.getParam(projectAppParams.elasticSearch);\n }\n\n if (searchEngineParams) {\n const params = app.getParam(searchEngineParams);\n if (typeof params === \"object\") {\n if (params.domainName) {\n process.env.AWS_ELASTIC_SEARCH_DOMAIN_NAME = params.domainName;\n }\n\n if (params.indexPrefix) {\n process.env.ELASTIC_SEARCH_INDEX_PREFIX = params.indexPrefix;\n }\n\n if (params.sharedIndexes) {\n process.env.ELASTICSEARCH_SHARED_INDEXES = \"true\";\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 =\n app.params.create.productionEnvironments || DEFAULT_PROD_ENV_NAMES;\n const isProduction = productionEnvironments.includes(app.params.run.env);\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: getEnvVariableAwsRegion(),\n // COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n // DB_TABLE: core.primaryDynamodbTableName,\n // DB_TABLE_LOG: core.logDynamodbTableName,\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 // ELASTICSEARCH_SHARED_INDEXES: process.env.ELASTICSEARCH_SHARED_INDEXES,\n //\n // S3_BUCKET: core.fileManagerBucketId\n // }\n // });\n\n const apwScheduler = app.addModule(ApiApwScheduler, {\n primaryDynamodbTableArn: core.primaryDynamodbTableArn,\n\n env: {\n COGNITO_REGION: getEnvVariableAwsRegion(),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_LOG: core.logDynamodbTableName,\n S3_BUCKET: core.fileManagerBucketId\n }\n });\n\n const graphql = app.addModule(ApiGraphql, {\n env: {\n COGNITO_REGION: getEnvVariableAwsRegion(),\n COGNITO_USER_POOL_ID: core.cognitoUserPoolId,\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_LOG: core.logDynamodbTableName,\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 ELASTICSEARCH_SHARED_INDEXES: process.env.ELASTICSEARCH_SHARED_INDEXES,\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 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 websocket = app.addModule(ApiWebsocket);\n\n const fileManager = app.addModule(ApiFileManager, {\n env: {\n DB_TABLE: core.primaryDynamodbTableName,\n DB_TABLE_LOG: core.logDynamodbTableName\n }\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 \"private-any\": {\n path: \"/private/{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 \"redirects-get\": {\n path: \"/wb/redirects\",\n method: \"GET\",\n function: graphql.functions.graphql.output.arn\n },\n \"redirects-options\": {\n path: \"/wb/redirects\",\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 backgroundTask = app.addModule(ApiBackgroundTask);\n const migration = app.addModule(ApiMigration);\n const scheduler = app.addModule(ApiScheduler);\n\n const domains = app.getParam(projectAppParams.domains);\n if (domains) {\n applyCustomDomain(cloudfront, domains);\n }\n\n app.addOutputs({\n awsAccountId: getAwsAccountId(app),\n region: aws.config.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 migrationLambdaArn: migration.function.output.arn,\n graphqlLambdaName: graphql.functions.graphql.output.name,\n graphqlLambdaRole: graphql.role.output.arn,\n graphqlLambdaRoleName: graphql.role.output.name,\n backgroundTaskLambdaArn: backgroundTask.backgroundTask.output.arn,\n backgroundTaskStepFunctionArn: backgroundTask.stepFunction.output.arn,\n fileManagerManageLambdaArn: fileManager.functions.manage.output.arn,\n fileManagerManageLambdaRole: fileManager.roles.manage.output.arn,\n fileManagerManageLambdaRoleName: fileManager.roles.manage.output.name,\n fileManagerDownloadLambdaArn: fileManager.functions.download.output.arn,\n websocketApiId: websocket.websocketApi.output.id,\n websocketApiUrl: websocket.websocketApiUrl,\n schedulerLambdaInvokeRole: scheduler.invokeRole.output.arn\n });\n\n // Only add `dynamoDbElasticsearchTable` output if using search engine (ES/OS).\n if (searchEngineParams) {\n app.addOutputs({\n dynamoDbElasticsearchTable: core.elasticsearchDynamodbTableName\n });\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 * We need to attach the Sync System if it exists.\n */\n attachSyncSystem({\n app,\n core,\n env: app.params.run.env\n });\n\n tagResources({\n WbyProjectName: getEnvVariableWebinyProjectName(),\n WbyEnvironment: getEnvVariableWebinyEnv(),\n WbyEnvironmentVariant: getEnvVariableWebinyVariant()\n });\n\n return {\n fileManager,\n graphql,\n apiGateway,\n websocket,\n cloudfront,\n apwScheduler,\n migration,\n backgroundTask,\n scheduler\n };\n }\n });\n\n const app = withServiceManifest(withCommonLambdaEnvVariables(baseApp));\n\n app.addHandler(() => {\n app.addServiceManifest({\n name: \"api\",\n manifest: {\n bgTaskSfn: baseApp.resources.backgroundTask.stepFunction.output.arn,\n cloudfront: {\n distributionId: baseApp.resources.cloudfront.output.id\n }\n }\n });\n\n app.addServiceManifest({\n name: \"scheduler\",\n manifest: {\n lambdaArn: baseApp.resources.graphql.functions.graphql.output.arn,\n roleArn: baseApp.resources.scheduler.invokeRole.output.arn\n }\n });\n });\n\n return app;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,3 @@
1
1
  import type { PulumiApp } from "@webiny/pulumi";
2
2
  export declare function getAwsAccountId(app: PulumiApp): import("@pulumi/pulumi").Output<string>;
3
- export declare function getAwsRegion(app: PulumiApp): import("@pulumi/pulumi").Output<"af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "cn-north-1" | "cn-northwest-1" | "us-gov-east-1" | "us-gov-west-1" | "us-iso-east-1" | "us-iso-west-1" | "us-isob-east-1" | "eu-isoe-west-1">;
3
+ export declare function getAwsRegion(app: PulumiApp): import("@pulumi/pulumi").Output<"us-east-1" | "af-south-1" | "ap-east-1" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "sa-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "cn-north-1" | "cn-northwest-1" | "us-gov-east-1" | "us-gov-west-1" | "us-iso-east-1" | "us-iso-west-1" | "us-isob-east-1" | "eu-isoe-west-1">;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/pulumi-aws",
3
- "version": "0.0.0-unstable.e53eceafb5",
3
+ "version": "0.0.0-unstable.eb196ccd2f",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/webiny/webiny-js.git"
@@ -16,22 +16,22 @@
16
16
  "@pulumi/aws": "6.67.0",
17
17
  "@pulumi/pulumi": "3.147.0",
18
18
  "@pulumi/random": "4.17.0",
19
- "@webiny/aws-sdk": "0.0.0-unstable.e53eceafb5",
20
- "@webiny/cli-plugin-deploy-pulumi": "0.0.0-unstable.e53eceafb5",
21
- "@webiny/pulumi": "0.0.0-unstable.e53eceafb5",
22
- "@webiny/utils": "0.0.0-unstable.e53eceafb5",
23
- "@webiny/wcp": "0.0.0-unstable.e53eceafb5",
19
+ "@webiny/aws-sdk": "0.0.0-unstable.eb196ccd2f",
20
+ "@webiny/cli-plugin-deploy-pulumi": "0.0.0-unstable.eb196ccd2f",
21
+ "@webiny/pulumi": "0.0.0-unstable.eb196ccd2f",
22
+ "@webiny/utils": "0.0.0-unstable.eb196ccd2f",
23
+ "@webiny/wcp": "0.0.0-unstable.eb196ccd2f",
24
24
  "form-data": "4.0.0",
25
25
  "lodash": "4.17.21",
26
26
  "node-fetch": "2.6.7",
27
27
  "zod": "3.23.8"
28
28
  },
29
29
  "devDependencies": {
30
- "@webiny/api-page-builder": "0.0.0-unstable.e53eceafb5",
31
- "@webiny/aws-layers": "0.0.0-unstable.e53eceafb5",
32
- "@webiny/cli": "0.0.0-unstable.e53eceafb5",
33
- "@webiny/feature-flags": "0.0.0-unstable.e53eceafb5",
34
- "@webiny/project-utils": "0.0.0-unstable.e53eceafb5",
30
+ "@webiny/api-page-builder": "0.0.0-unstable.eb196ccd2f",
31
+ "@webiny/aws-layers": "0.0.0-unstable.eb196ccd2f",
32
+ "@webiny/cli": "0.0.0-unstable.eb196ccd2f",
33
+ "@webiny/feature-flags": "0.0.0-unstable.eb196ccd2f",
34
+ "@webiny/project-utils": "0.0.0-unstable.eb196ccd2f",
35
35
  "chalk": "4.1.2",
36
36
  "mime": "3.0.0",
37
37
  "rimraf": "6.0.1",
@@ -54,5 +54,5 @@
54
54
  ]
55
55
  }
56
56
  },
57
- "gitHead": "e53eceafb5ce1a3872c9b4548939bb2eae5b1aef"
57
+ "gitHead": "eb196ccd2f32296e10f7add6dd7220d4e3abece4"
58
58
  }