@webda/aws 4.0.0-beta.1 → 4.0.0-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.
Files changed (126) hide show
  1. package/README.md +64 -7
  2. package/lib/index.d.ts +1 -0
  3. package/lib/index.d.ts.map +1 -0
  4. package/lib/index.js.map +1 -1
  5. package/lib/services/aws-parameters.d.ts +33 -0
  6. package/lib/services/aws-parameters.d.ts.map +1 -0
  7. package/lib/services/aws-parameters.js +18 -0
  8. package/lib/services/aws-parameters.js.map +1 -0
  9. package/lib/services/awscommands.service.d.ts +39 -0
  10. package/lib/services/awscommands.service.d.ts.map +1 -0
  11. package/lib/services/awscommands.service.js +127 -0
  12. package/lib/services/awscommands.service.js.map +1 -0
  13. package/lib/services/cloudwatchlogger.service.d.ts +131 -0
  14. package/lib/services/cloudwatchlogger.service.d.ts.map +1 -0
  15. package/lib/services/{cloudwatchlogger.js → cloudwatchlogger.service.js} +66 -34
  16. package/lib/services/cloudwatchlogger.service.js.map +1 -0
  17. package/lib/services/contributors.d.ts +37 -0
  18. package/lib/services/contributors.d.ts.map +1 -0
  19. package/lib/services/contributors.js +2 -0
  20. package/lib/services/contributors.js.map +1 -0
  21. package/lib/services/dynamodb.service.d.ts +297 -0
  22. package/lib/services/dynamodb.service.d.ts.map +1 -0
  23. package/lib/services/dynamodb.service.js +985 -0
  24. package/lib/services/dynamodb.service.js.map +1 -0
  25. package/lib/services/index.d.ts +12 -31
  26. package/lib/services/index.d.ts.map +1 -0
  27. package/lib/services/index.js +11 -8
  28. package/lib/services/index.js.map +1 -1
  29. package/lib/services/lambdacaller.service.d.ts +81 -0
  30. package/lib/services/lambdacaller.service.d.ts.map +1 -0
  31. package/lib/services/lambdacaller.service.js +75 -0
  32. package/lib/services/lambdacaller.service.js.map +1 -0
  33. package/lib/services/lambdaserver.service.d.ts +127 -0
  34. package/lib/services/lambdaserver.service.d.ts.map +1 -0
  35. package/lib/services/lambdaserver.service.js +294 -0
  36. package/lib/services/lambdaserver.service.js.map +1 -0
  37. package/lib/services/{route53.d.ts → route53.service.d.ts} +21 -11
  38. package/lib/services/route53.service.d.ts.map +1 -0
  39. package/lib/services/{route53.js → route53.service.js} +35 -38
  40. package/lib/services/route53.service.js.map +1 -0
  41. package/lib/services/s3binary.service.d.ts +215 -0
  42. package/lib/services/s3binary.service.d.ts.map +1 -0
  43. package/lib/services/{s3binary.js → s3binary.service.js} +113 -74
  44. package/lib/services/s3binary.service.js.map +1 -0
  45. package/lib/services/secretsmanager.service.d.ts +102 -0
  46. package/lib/services/secretsmanager.service.d.ts.map +1 -0
  47. package/lib/services/{secretsmanager.js → secretsmanager.service.js} +42 -24
  48. package/lib/services/secretsmanager.service.js.map +1 -0
  49. package/lib/services/{sqsqueue.d.ts → sqsqueue.service.d.ts} +60 -34
  50. package/lib/services/sqsqueue.service.d.ts.map +1 -0
  51. package/lib/services/{sqsqueue.js → sqsqueue.service.js} +60 -35
  52. package/lib/services/sqsqueue.service.js.map +1 -0
  53. package/package.json +59 -65
  54. package/webda.module.json +738 -377
  55. package/lib/deployers/cloudformation.d.ts +0 -316
  56. package/lib/deployers/cloudformation.js +0 -837
  57. package/lib/deployers/cloudformation.js.map +0 -1
  58. package/lib/deployers/cloudformation.spec.d.ts +0 -1
  59. package/lib/deployers/cloudformation.spec.js +0 -530
  60. package/lib/deployers/cloudformation.spec.js.map +0 -1
  61. package/lib/deployers/index.d.ts +0 -254
  62. package/lib/deployers/index.js +0 -543
  63. package/lib/deployers/index.js.map +0 -1
  64. package/lib/deployers/index.spec.d.ts +0 -8
  65. package/lib/deployers/index.spec.js +0 -595
  66. package/lib/deployers/index.spec.js.map +0 -1
  67. package/lib/deployers/lambda-entrypoint.d.ts +0 -1
  68. package/lib/deployers/lambda-entrypoint.js +0 -11
  69. package/lib/deployers/lambda-entrypoint.js.map +0 -1
  70. package/lib/deployers/lambdapackager.d.ts +0 -27
  71. package/lib/deployers/lambdapackager.js +0 -26
  72. package/lib/deployers/lambdapackager.js.map +0 -1
  73. package/lib/deployers/lambdapackager.spec.d.ts +0 -1
  74. package/lib/deployers/lambdapackager.spec.js +0 -44
  75. package/lib/deployers/lambdapackager.spec.js.map +0 -1
  76. package/lib/index.spec.d.ts +0 -10
  77. package/lib/index.spec.js +0 -42
  78. package/lib/index.spec.js.map +0 -1
  79. package/lib/services/aws-mixin.d.ts +0 -24
  80. package/lib/services/aws-mixin.js +0 -18
  81. package/lib/services/aws-mixin.js.map +0 -1
  82. package/lib/services/cloudwatchlogger.d.ts +0 -81
  83. package/lib/services/cloudwatchlogger.js.map +0 -1
  84. package/lib/services/cloudwatchlogger.spec.d.ts +0 -1
  85. package/lib/services/cloudwatchlogger.spec.js +0 -104
  86. package/lib/services/cloudwatchlogger.spec.js.map +0 -1
  87. package/lib/services/dynamodb.d.ts +0 -173
  88. package/lib/services/dynamodb.js +0 -711
  89. package/lib/services/dynamodb.js.map +0 -1
  90. package/lib/services/dynamodb.spec.d.ts +0 -23
  91. package/lib/services/dynamodb.spec.js +0 -339
  92. package/lib/services/dynamodb.spec.js.map +0 -1
  93. package/lib/services/lambdacaller.d.ts +0 -68
  94. package/lib/services/lambdacaller.js +0 -63
  95. package/lib/services/lambdacaller.js.map +0 -1
  96. package/lib/services/lambdacaller.spec.d.ts +0 -1
  97. package/lib/services/lambdacaller.spec.js +0 -70
  98. package/lib/services/lambdacaller.spec.js.map +0 -1
  99. package/lib/services/lambdaserver.d.ts +0 -86
  100. package/lib/services/lambdaserver.js +0 -264
  101. package/lib/services/lambdaserver.js.map +0 -1
  102. package/lib/services/lambdaserver.spec.d.ts +0 -1
  103. package/lib/services/lambdaserver.spec.js +0 -417
  104. package/lib/services/lambdaserver.spec.js.map +0 -1
  105. package/lib/services/route53.js.map +0 -1
  106. package/lib/services/route53.spec.d.ts +0 -1
  107. package/lib/services/route53.spec.js +0 -102
  108. package/lib/services/route53.spec.js.map +0 -1
  109. package/lib/services/s3binary.d.ts +0 -162
  110. package/lib/services/s3binary.js.map +0 -1
  111. package/lib/services/s3binary.spec.d.ts +0 -1
  112. package/lib/services/s3binary.spec.js +0 -269
  113. package/lib/services/s3binary.spec.js.map +0 -1
  114. package/lib/services/secretsmanager.d.ts +0 -80
  115. package/lib/services/secretsmanager.js.map +0 -1
  116. package/lib/services/secretsmanager.spec.d.ts +0 -1
  117. package/lib/services/secretsmanager.spec.js +0 -66
  118. package/lib/services/secretsmanager.spec.js.map +0 -1
  119. package/lib/services/sqsqueue.js.map +0 -1
  120. package/lib/services/sqsqueue.spec.d.ts +0 -1
  121. package/lib/services/sqsqueue.spec.js +0 -152
  122. package/lib/services/sqsqueue.spec.js.map +0 -1
  123. package/lib/shell.d.ts +0 -12
  124. package/lib/shell.js +0 -42
  125. package/lib/shell.js.map +0 -1
  126. package/webda.shell.json +0 -11
@@ -1,27 +0,0 @@
1
- import { Packager, PackagerResources } from "@webda/shell";
2
- /**
3
- * Lambda Packager options
4
- */
5
- export interface LambdaPackagerResources extends PackagerResources {
6
- /**
7
- * Lambda include already the AWS-SDK
8
- * By default we exclude the aws-sdk
9
- *
10
- * @defaut false
11
- */
12
- customAwsSdk?: boolean;
13
- }
14
- /**
15
- * Package a Lambda function
16
- *
17
- * It uses the normmal Packager and just add the default entrypoint
18
- * And the exclusion of aws-sdk by default
19
- * @WebdaDeployer WebdaAWSDeployer/LambdaPackager
20
- */
21
- export default class LambdaPackager extends Packager<LambdaPackagerResources> {
22
- /**
23
- * Define the default resources
24
- */
25
- loadDefaults(): Promise<void>;
26
- }
27
- export { LambdaPackager };
@@ -1,26 +0,0 @@
1
- import { getCommonJS } from "@webda/core";
2
- import { Packager } from "@webda/shell";
3
- import * as path from "path";
4
- const { __dirname } = getCommonJS(import.meta.url);
5
- /**
6
- * Package a Lambda function
7
- *
8
- * It uses the normmal Packager and just add the default entrypoint
9
- * And the exclusion of aws-sdk by default
10
- * @WebdaDeployer WebdaAWSDeployer/LambdaPackager
11
- */
12
- export default class LambdaPackager extends Packager {
13
- /**
14
- * Define the default resources
15
- */
16
- async loadDefaults() {
17
- await super.loadDefaults();
18
- this.resources.entrypoint = this.resources.entrypoint || path.join(__dirname, "lambda-entrypoint.js");
19
- // Exclude aws-sdk by default
20
- if (!this.resources.customAwsSdk) {
21
- this.resources.package.modules.excludes.push("aws-sdk");
22
- }
23
- }
24
- }
25
- export { LambdaPackager };
26
- //# sourceMappingURL=lambdapackager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lambdapackager.js","sourceRoot":"","sources":["../../src/deployers/lambdapackager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAqB,MAAM,cAAc,CAAC;AAC3D,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAcnD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,QAAiC;IAC3E;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;QACtG,6BAA6B;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CACF;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,44 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { suite, test } from "@testdeck/mocha";
8
- import { getCommonJS } from "@webda/core";
9
- import { DeployerTest } from "@webda/shell/lib/deployers/deployertest.js";
10
- import * as assert from "assert";
11
- import * as path from "path";
12
- import { LambdaPackager } from "./lambdapackager.js";
13
- const { __dirname } = getCommonJS(import.meta.url);
14
- let LambdaPackagerTest = class LambdaPackagerTest extends DeployerTest {
15
- async getDeployer(manager) {
16
- return new LambdaPackager(manager, {
17
- name: "deployer",
18
- type: "LambdaPackager",
19
- zipPath: "test.zip"
20
- });
21
- }
22
- async loadDefault() {
23
- await this.deployer.loadDefaults();
24
- assert.strictEqual(this.deployer.resources.entrypoint, path.join(__dirname, "lambda-entrypoint.js"));
25
- this.deployer.resources.entrypoint = "mine.js";
26
- await this.deployer.loadDefaults();
27
- assert.strictEqual(this.deployer.resources.entrypoint, "mine.js");
28
- let other = new LambdaPackager(this.manager, {
29
- name: "deployer2",
30
- type: "LambdaPackager",
31
- zipPath: "test.zip",
32
- customAwsSdk: true
33
- });
34
- await other.loadDefaults();
35
- assert.ok(!other.resources.package.modules.excludes.includes("aws-sdk"));
36
- }
37
- };
38
- __decorate([
39
- test
40
- ], LambdaPackagerTest.prototype, "loadDefault", null);
41
- LambdaPackagerTest = __decorate([
42
- suite
43
- ], LambdaPackagerTest);
44
- //# sourceMappingURL=lambdapackager.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lambdapackager.spec.js","sourceRoot":"","sources":["../../src/deployers/lambdapackager.spec.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAGnD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,YAA4B;IAC3D,KAAK,CAAC,WAAW,CAAC,OAA0B;QAC1C,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE;YACjC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,UAAU;SACpB,CAAC,CAAC;IACL,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC;QAC/C,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,KAAK,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE;YAC3C,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,UAAU;YACnB,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;CACF,CAAA;AAfO;IADL,IAAI;qDAeJ;AAxBG,kBAAkB;IADvB,KAAK;GACA,kBAAkB,CAyBvB"}
@@ -1,10 +0,0 @@
1
- import { TestApplication, WebdaTest } from "@webda/core/lib/test.js";
2
- export declare const defaultCreds: {
3
- accessKeyId: string;
4
- secretAccessKey: string;
5
- };
6
- export declare function checkLocalStack(): Promise<void>;
7
- export declare class WebdaAwsTest extends WebdaTest {
8
- tweakApp(app: TestApplication): Promise<void>;
9
- before(): Promise<void>;
10
- }
package/lib/index.spec.js DELETED
@@ -1,42 +0,0 @@
1
- import { getCommonJS } from "@webda/core";
2
- import { WebdaTest } from "@webda/core/lib/test.js";
3
- import fetch from "node-fetch";
4
- import * as path from "path";
5
- const { __dirname } = getCommonJS(import.meta.url);
6
- var localStack = undefined;
7
- export const defaultCreds = {
8
- accessKeyId: "Bouzouf",
9
- secretAccessKey: "plop"
10
- };
11
- export async function checkLocalStack() {
12
- if (localStack === undefined) {
13
- const controller = new AbortController();
14
- const id = setTimeout(() => controller.abort(), 500);
15
- try {
16
- let res = await fetch("http://localhost:4566", {
17
- signal: controller.signal
18
- });
19
- clearTimeout(id);
20
- localStack = true;
21
- }
22
- catch (err) {
23
- localStack = false;
24
- }
25
- }
26
- if (!localStack) {
27
- throw new Error("Require localstack to be started");
28
- }
29
- }
30
- export class WebdaAwsTest extends WebdaTest {
31
- async tweakApp(app) {
32
- await super.tweakApp(app);
33
- app.addService("test/awsevents", (await import(path.join(__dirname, ..."../test/moddas/awsevents.js".split("/")))).AWSEventsHandler);
34
- }
35
- async before() {
36
- await checkLocalStack();
37
- process.env.AWS_ACCESS_KEY_ID = "plop";
38
- process.env.AWS_SECRET_ACCESS_KEY = "plop";
39
- await super.before();
40
- }
41
- }
42
- //# sourceMappingURL=index.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAmB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEnD,IAAI,UAAU,GAAG,SAAS,CAAC;AAE3B,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE,SAAS;IACtB,eAAe,EAAE,MAAM;CACxB,CAAC;AACF,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC;YACH,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,uBAAuB,EAAE;gBAC7C,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YACH,YAAY,CAAC,EAAE,CAAC,CAAC;YACjB,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED,MAAM,OAAO,YAAa,SAAQ,SAAS;IACzC,KAAK,CAAC,QAAQ,CAAC,GAAoB;QACjC,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC1B,GAAG,CAAC,UAAU,CACZ,gBAAgB,EAChB,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CACnG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,eAAe,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,MAAM,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,MAAM,CAAC;QAC3C,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -1,24 +0,0 @@
1
- import { ServiceParameters } from "@webda/core";
2
- type Constructor<T extends ServiceParameters = ServiceParameters> = new (...args: any[]) => T;
3
- export interface IAWSServiceParameters {
4
- endpoint?: string;
5
- accessKeyId?: string;
6
- secretAccessKey?: string;
7
- sessionToken?: string;
8
- region?: string;
9
- }
10
- export declare function AWSServiceParameters<TBase extends Constructor>(Base: TBase): {
11
- new (...args: any[]): {
12
- endpoint?: string;
13
- credentials?: {
14
- accessKeyId: string;
15
- secretAccessKey: string;
16
- sessionToken?: string;
17
- };
18
- region?: string;
19
- type: string;
20
- url?: string;
21
- openapi?: import("@webda/core/lib/router").OpenAPIWebdaDefinition;
22
- };
23
- } & TBase;
24
- export {};
@@ -1,18 +0,0 @@
1
- // This mixin adds a scale property, with getters and setters
2
- // for changing it with an encapsulated private property:
3
- export function AWSServiceParameters(Base) {
4
- return class AWSServiceParametersMixin extends Base {
5
- constructor(...args) {
6
- super(...args);
7
- this.region = this.region || process.env["AWS_DEFAULT_REGION"] || "us-east-1";
8
- if (process.env["AWS_ACCESS_KEY_ID"] && process.env["AWS_SECRET_ACCESS_KEY"] && !process.env["ECS_CLUSTER"]) {
9
- this.credentials ?? (this.credentials = {
10
- accessKeyId: process.env["AWS_ACCESS_KEY_ID"],
11
- secretAccessKey: process.env["AWS_SECRET_ACCESS_KEY"],
12
- sessionToken: process.env["AWS_SESSION_TOKEN"]
13
- });
14
- }
15
- }
16
- };
17
- }
18
- //# sourceMappingURL=aws-mixin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aws-mixin.js","sourceRoot":"","sources":["../../src/services/aws-mixin.ts"],"names":[],"mappings":"AAeA,6DAA6D;AAC7D,yDAAyD;AAEzD,MAAM,UAAU,oBAAoB,CAA4B,IAAW;IACzE,OAAO,MAAM,yBAA0B,SAAQ,IAAI;QAWjD,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACf,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,WAAW,CAAC;YAC9E,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC5G,IAAI,CAAC,WAAW,KAAhB,IAAI,CAAC,WAAW,GAAK;oBACnB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;oBAC7C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;oBACrD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;iBAC/C,EAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,81 +0,0 @@
1
- import { Service, ServiceParameters } from "@webda/core";
2
- import { WorkerLogLevel } from "@webda/workout";
3
- import { CloudFormationContributor } from "..js";
4
- declare const CloudWatchLoggerParameters_base: {
5
- new (...args: any[]): {
6
- endpoint?: string;
7
- credentials?: {
8
- accessKeyId: string;
9
- secretAccessKey: string;
10
- sessionToken?: string;
11
- };
12
- region?: string;
13
- type: string;
14
- url?: string;
15
- openapi?: import("@webda/core/lib/router").OpenAPIWebdaDefinition;
16
- };
17
- } & typeof ServiceParameters;
18
- /**
19
- * Send webda log to CloudWatch
20
- */
21
- export declare class CloudWatchLoggerParameters extends CloudWatchLoggerParameters_base {
22
- /**
23
- * logGroupName to send logStream to
24
- */
25
- logGroupName: string;
26
- logStreamNamePrefix?: string;
27
- kmsKeyId: string;
28
- tags: any;
29
- logLevel: WorkerLogLevel;
30
- singlePush: boolean;
31
- CloudFormation: any;
32
- CloudFormationSkip: boolean;
33
- }
34
- /**
35
- * Output log to a CloudWatch Stream
36
- *
37
- * @WebdaModda
38
- */
39
- export default class CloudWatchLogger<T extends CloudWatchLoggerParameters = CloudWatchLoggerParameters> extends Service<T> implements CloudFormationContributor {
40
- _logGroupName: string;
41
- _logStreamName: string;
42
- _seqToken: string;
43
- _logStream: any;
44
- _cloudwatch: any;
45
- _bufferedLogs: any[];
46
- /**
47
- * Load the parameters
48
- *
49
- * @param params
50
- */
51
- loadParameters(params: any): CloudWatchLoggerParameters;
52
- /**
53
- * @inheritdoc
54
- */
55
- init(): Promise<this>;
56
- /**
57
- * Send logs to CloudWatch
58
- *
59
- * @param copy
60
- * @returns
61
- */
62
- sendLogs(copy?: boolean): Promise<void>;
63
- /**
64
- * @inheritdoc
65
- */
66
- _log(level: any, ...args: any[]): void;
67
- /**
68
- * @inheritdoc
69
- */
70
- getARNPolicy(accountId: string): {
71
- Sid: string;
72
- Effect: string;
73
- Action: string[];
74
- Resource: string[];
75
- };
76
- /**
77
- * @inheritdoc
78
- */
79
- getCloudFormation(): {};
80
- }
81
- export { CloudWatchLogger };
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloudwatchlogger.js","sourceRoot":"","sources":["../../src/services/cloudwatchlogger.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,104 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { CloudWatchLogs } from "@aws-sdk/client-cloudwatch-logs";
8
- import { suite, test } from "@testdeck/mocha";
9
- import * as assert from "assert";
10
- import { checkLocalStack, defaultCreds, WebdaAwsTest } from "../index.spec.js";
11
- let CloudWatchLoggerTest = class CloudWatchLoggerTest extends WebdaAwsTest {
12
- getTestConfiguration() {
13
- return process.cwd() + "/test/config-cloudwatch.json";
14
- }
15
- async before() {
16
- await checkLocalStack();
17
- let cloudwatch = new CloudWatchLogs({
18
- credentials: defaultCreds,
19
- endpoint: "http://localhost:4566",
20
- region: "us-east-1"
21
- });
22
- try {
23
- await cloudwatch.deleteLogGroup({
24
- logGroupName: "webda-test"
25
- });
26
- }
27
- catch (err) {
28
- // Skip bad delete
29
- }
30
- await super.before();
31
- this.service = this.getService("CloudWatchLogger");
32
- assert.notStrictEqual(this.service, undefined);
33
- }
34
- async basic() {
35
- this.webda.log("INFO", "Plop 0", "Test");
36
- this.webda.log("DEBUG", "Plop 1", "Test");
37
- this.webda.log("DEBUG", "Plop 2", "Test");
38
- this.webda.log("DEBUG", "Plop 3", "Test");
39
- this.webda.getLogger("whatever").logProgressStart("test", 100, "other");
40
- this.webda.log("DEBUG", "Plop 4", "Test");
41
- await this.webda.emitSync("Webda.Result");
42
- let res = await this.service._cloudwatch.describeLogStreams({
43
- logGroupName: "webda-test"
44
- });
45
- assert.strictEqual(res.logStreams.length, 1);
46
- assert.notStrictEqual(res.logStreams[0].lastEventTimestamp, undefined);
47
- this.service.getParameters().logGroupName = undefined;
48
- await assert.rejects(() => this.service.init(), /Require a log group `logGroupName` parameter/);
49
- }
50
- aws() {
51
- assert.deepStrictEqual(this.service.getARNPolicy("plop"), {
52
- Action: ["logs:*"],
53
- Effect: "Allow",
54
- Resource: [
55
- "arn:aws:logs:us-east-1:plop:log-group:webda-test",
56
- "arn:aws:logs:us-east-1:plop:log-group:webda-test:*:*"
57
- ],
58
- Sid: "CloudWatchLoggerCloudWatchLogger"
59
- });
60
- assert.deepStrictEqual(this.service.getCloudFormation(), {
61
- CloudWatchLoggerLogGroup: {
62
- Properties: {
63
- LogGroupName: "webda-test"
64
- },
65
- Type: "AWS::Logs::LogGroup"
66
- }
67
- });
68
- this.service.getParameters().CloudFormationSkip = true;
69
- assert.deepStrictEqual(this.service.getCloudFormation(), {});
70
- }
71
- async secondRun() {
72
- // Update config to use the stepper
73
- this.service.getParameters().singlePush = true;
74
- this.webda.log("INFO", "Plop 0", "Test");
75
- this.webda.log("DEBUG", "Plop 1", "Test");
76
- await this.sleep(1000);
77
- let res = await this.service._cloudwatch.describeLogStreams({
78
- logGroupName: "webda-test"
79
- });
80
- assert.strictEqual(res.logStreams.length, 1);
81
- assert.notStrictEqual(res.logStreams[0].lastEventTimestamp, undefined);
82
- this.webda.log("DEBUG", "Plop 2", "Test");
83
- this.webda.log("DEBUG", "Plop 3", "Test");
84
- this.webda.log("DEBUG", "Plop 4", "Test");
85
- await this.webda.emitSync("Webda.Result");
86
- res = await this.service._cloudwatch.describeLogStreams({
87
- logGroupName: "webda-test"
88
- });
89
- assert.strictEqual(res.logStreams.length, 1);
90
- }
91
- };
92
- __decorate([
93
- test
94
- ], CloudWatchLoggerTest.prototype, "basic", null);
95
- __decorate([
96
- test
97
- ], CloudWatchLoggerTest.prototype, "aws", null);
98
- __decorate([
99
- test
100
- ], CloudWatchLoggerTest.prototype, "secondRun", null);
101
- CloudWatchLoggerTest = __decorate([
102
- suite
103
- ], CloudWatchLoggerTest);
104
- //# sourceMappingURL=cloudwatchlogger.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cloudwatchlogger.spec.js","sourceRoot":"","sources":["../../src/services/cloudwatchlogger.spec.ts"],"names":[],"mappings":"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"}
@@ -1,173 +0,0 @@
1
- import { DynamoDBDocument } from "@aws-sdk/lib-dynamodb";
2
- import { CoreModel, Store, StoreFindResult, StoreParameters } from "@webda/core";
3
- import * as WebdaQL from "@webda/ql";
4
- import { WorkerOutput } from "@webda/workout";
5
- import { CloudFormationDeployer } from "../deployers/cloudformation.js";
6
- import { CloudFormationContributor } from "./index.js";
7
- declare const DynamoStoreParameters_base: {
8
- new (...args: any[]): {
9
- endpoint?: string;
10
- credentials?: {
11
- accessKeyId: string;
12
- secretAccessKey: string;
13
- sessionToken?: string;
14
- };
15
- region?: string;
16
- type: string;
17
- url?: string;
18
- openapi?: import("@webda/core/lib/router").OpenAPIWebdaDefinition;
19
- };
20
- } & typeof StoreParameters;
21
- /**
22
- * Define DynamoDB parameters
23
- */
24
- export declare class DynamoStoreParameters extends DynamoStoreParameters_base {
25
- /**
26
- * Table name
27
- */
28
- table: string;
29
- /**
30
- * Additional global indexes
31
- */
32
- globalIndexes?: {
33
- [key: string]: {
34
- key: string;
35
- sort?: string;
36
- };
37
- };
38
- /**
39
- * CloudFormation customization
40
- */
41
- CloudFormation: any;
42
- CloudFormationSkip: boolean;
43
- scanPage: number;
44
- constructor(params: any, service: DynamoStore);
45
- }
46
- /**
47
- * DynamoStore handles the DynamoDB
48
- *
49
- * Parameters:
50
- * accessKeyId: '' // try WEBDA_AWS_KEY env variable if not found
51
- * secretAccessKey: '' // try WEBDA_AWS_SECRET env variable if not found
52
- * table: ''
53
- * region: ''
54
- *
55
- * @WebdaModda
56
- */
57
- export default class DynamoStore<T extends CoreModel = CoreModel, K extends DynamoStoreParameters = DynamoStoreParameters> extends Store<T, K> implements CloudFormationContributor {
58
- _client: DynamoDBDocument;
59
- /**
60
- * Load the parameters
61
- *
62
- * @param params
63
- */
64
- loadParameters(params: any): DynamoStoreParameters;
65
- /**
66
- * Create the AWS client
67
- */
68
- resolve(): this;
69
- /**
70
- * Copy one DynamoDB table to another
71
- *
72
- * @param output
73
- * @param source
74
- * @param target
75
- */
76
- static copyTable(output: WorkerOutput, source: string, target: string): Promise<void>;
77
- /**
78
- * @inheritdoc
79
- */
80
- _exists(uid: any): Promise<boolean>;
81
- /**
82
- * @inheritdoc
83
- */
84
- _save(object: any, uid?: string): Promise<any>;
85
- /**
86
- * @override
87
- *
88
- * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html
89
- * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html
90
- */
91
- find(query: WebdaQL.Query): Promise<StoreFindResult<T>>;
92
- /**
93
- * Serialize a date for DynamoDB
94
- * @param date
95
- * @returns
96
- */
97
- _serializeDate(date: Date): string;
98
- /**
99
- * Clean object to store in DynamoDB
100
- *
101
- * @param object
102
- * @returns
103
- */
104
- _cleanObject(object: Object): any;
105
- /**
106
- * @inheritdoc
107
- */
108
- _removeAttribute(uuid: string, attribute: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
109
- /**
110
- * @inheritdoc
111
- */
112
- _deleteItemFromCollection(uid: any, prop: any, index: any, itemWriteCondition: any, itemWriteConditionField: any, updateDate: Date): Promise<void>;
113
- /**
114
- * @inheritdoc
115
- */
116
- _upsertItemToCollection(uuid: string, prop: string, item: any, index: number | undefined, itemWriteCondition: any | undefined, itemWriteConditionField: string | undefined, updateDate: Date): Promise<void>;
117
- /**
118
- * REturn the write condition as string
119
- * @param writeCondition
120
- * @param field
121
- * @returns
122
- */
123
- setWriteCondition(params: any, writeCondition: any, field?: string): void;
124
- /**
125
- * @inheritdoc
126
- */
127
- _delete(uid: string, writeCondition?: any, itemWriteConditionField?: string): Promise<void>;
128
- /**
129
- * @inheritdoc
130
- */
131
- _patch(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
132
- /**
133
- * @inheritdoc
134
- */
135
- _update(object: any, uid: string, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<any>;
136
- /**
137
- * @inheritdoc
138
- */
139
- _scan(items?: any[], paging?: any): Promise<T[]>;
140
- /**
141
- * @inheritdoc
142
- */
143
- getAll(uids?: string[]): Promise<T[]>;
144
- /**
145
- * @inheritdoc
146
- */
147
- _get(uid: string, raiseIfNotFound?: boolean): Promise<T>;
148
- /**
149
- * @inheritdoc
150
- */
151
- _incrementAttributes(uid: any, parameters: {
152
- property: string;
153
- value: number;
154
- }[], updateDate: Date): Promise<import("@aws-sdk/lib-dynamodb").UpdateCommandOutput>;
155
- /**
156
- * @inheritdoc
157
- */
158
- getARNPolicy(accountId: string): {
159
- Sid: string;
160
- Effect: string;
161
- Action: string[];
162
- Resource: string[];
163
- };
164
- /**
165
- * @inheritdoc
166
- */
167
- __clean(): Promise<void>;
168
- /**
169
- * @inheritdoc
170
- */
171
- getCloudFormation(deployer: CloudFormationDeployer): {};
172
- }
173
- export { DynamoStore };