@webda/aws 2.0.0-beta.3 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/deployers/cloudformation.d.ts +2 -2
- package/lib/deployers/cloudformation.js +672 -693
- package/lib/deployers/cloudformation.js.map +1 -1
- package/lib/deployers/cloudformation.spec.js +428 -477
- package/lib/deployers/cloudformation.spec.js.map +1 -1
- package/lib/deployers/index.js +282 -342
- package/lib/deployers/index.js.map +1 -1
- package/lib/deployers/index.spec.d.ts +1 -1
- package/lib/deployers/index.spec.js +445 -510
- package/lib/deployers/index.spec.js.map +1 -1
- package/lib/deployers/lambda-entrypoint.js +4 -16
- package/lib/deployers/lambda-entrypoint.js.map +1 -1
- package/lib/deployers/lambdapackager.js +13 -52
- package/lib/deployers/lambdapackager.js.map +1 -1
- package/lib/deployers/lambdapackager.spec.js +25 -61
- package/lib/deployers/lambdapackager.spec.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -17
- package/lib/index.js.map +1 -1
- package/lib/index.spec.d.ts +1 -1
- package/lib/index.spec.js +28 -75
- package/lib/index.spec.js.map +1 -1
- package/lib/services/aws-mixin.d.ts +2 -0
- package/lib/services/aws-mixin.js +2 -7
- package/lib/services/aws-mixin.js.map +1 -1
- package/lib/services/cloudwatchlogger.d.ts +3 -1
- package/lib/services/cloudwatchlogger.js +63 -104
- package/lib/services/cloudwatchlogger.js.map +1 -1
- package/lib/services/cloudwatchlogger.spec.js +57 -100
- package/lib/services/cloudwatchlogger.spec.js.map +1 -1
- package/lib/services/dynamodb.d.ts +4 -2
- package/lib/services/dynamodb.js +457 -498
- package/lib/services/dynamodb.js.map +1 -1
- package/lib/services/dynamodb.spec.d.ts +2 -2
- package/lib/services/dynamodb.spec.js +232 -302
- package/lib/services/dynamodb.spec.js.map +1 -1
- package/lib/services/index.d.ts +9 -9
- package/lib/services/index.js +8 -24
- package/lib/services/index.js.map +1 -1
- package/lib/services/lambdacaller.d.ts +2 -0
- package/lib/services/lambdacaller.js +15 -29
- package/lib/services/lambdacaller.js.map +1 -1
- package/lib/services/lambdacaller.spec.js +43 -81
- package/lib/services/lambdacaller.spec.js.map +1 -1
- package/lib/services/lambdaserver.js +168 -190
- package/lib/services/lambdaserver.js.map +1 -1
- package/lib/services/lambdaserver.spec.js +266 -354
- package/lib/services/lambdaserver.spec.js.map +1 -1
- package/lib/services/route53.js +112 -137
- package/lib/services/route53.js.map +1 -1
- package/lib/services/route53.spec.js +56 -92
- package/lib/services/route53.spec.js.map +1 -1
- package/lib/services/s3binary.d.ts +6 -2
- package/lib/services/s3binary.js +189 -251
- package/lib/services/s3binary.js.map +1 -1
- package/lib/services/s3binary.spec.js +185 -254
- package/lib/services/s3binary.spec.js.map +1 -1
- package/lib/services/secretsmanager.d.ts +2 -0
- package/lib/services/secretsmanager.js +32 -56
- package/lib/services/secretsmanager.js.map +1 -1
- package/lib/services/secretsmanager.spec.js +50 -93
- package/lib/services/secretsmanager.spec.js.map +1 -1
- package/lib/services/sqsqueue.d.ts +5 -7
- package/lib/services/sqsqueue.js +70 -99
- package/lib/services/sqsqueue.js.map +1 -1
- package/lib/services/sqsqueue.spec.js +95 -145
- package/lib/services/sqsqueue.spec.js.map +1 -1
- package/lib/shell.js +19 -38
- package/lib/shell.js.map +1 -1
- package/package.json +12 -9
- package/webda.module.json +48 -0
|
@@ -1,138 +1,90 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
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;
|
|
22
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
6
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const mocha_1 = require("@testdeck/mocha");
|
|
43
|
-
const queue_spec_1 = require("@webda/core/lib/queues/queue.spec");
|
|
44
|
-
const assert = __importStar(require("assert"));
|
|
45
|
-
const aws_sdk_client_mock_1 = require("aws-sdk-client-mock");
|
|
46
|
-
const path = __importStar(require("path"));
|
|
47
|
-
const index_spec_1 = require("../index.spec");
|
|
48
|
-
const sqsqueue_1 = require("./sqsqueue");
|
|
49
|
-
let SQSQueueTest = class SQSQueueTest extends queue_spec_1.QueueTest {
|
|
50
|
-
before() {
|
|
51
|
-
const _super = Object.create(null, {
|
|
52
|
-
before: { get: () => super.before }
|
|
53
|
-
});
|
|
54
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
process.env.AWS_ACCESS_KEY_ID = "plop";
|
|
56
|
-
process.env.AWS_SECRET_ACCESS_KEY = "plop";
|
|
57
|
-
process.env.AWS_DEFAULT_REGION = "us-east-1";
|
|
58
|
-
yield (0, index_spec_1.checkLocalStack)();
|
|
59
|
-
yield _super.before.call(this);
|
|
60
|
-
yield this.install();
|
|
61
|
-
});
|
|
7
|
+
import { PurgeQueueCommand, SQS } from "@aws-sdk/client-sqs";
|
|
8
|
+
import { suite, test, timeout } from "@testdeck/mocha";
|
|
9
|
+
import { getCommonJS } from "@webda/core";
|
|
10
|
+
import { QueueTest } from "@webda/core/lib/queues/queue.spec.js";
|
|
11
|
+
import * as assert from "assert";
|
|
12
|
+
import { mockClient } from "aws-sdk-client-mock";
|
|
13
|
+
import * as path from "path";
|
|
14
|
+
import { checkLocalStack, defaultCreds } from "../index.spec.js";
|
|
15
|
+
import { SQSQueue } from "./sqsqueue.js";
|
|
16
|
+
const { __dirname } = getCommonJS(import.meta.url);
|
|
17
|
+
let SQSQueueTest = class SQSQueueTest extends QueueTest {
|
|
18
|
+
async before() {
|
|
19
|
+
process.env.AWS_ACCESS_KEY_ID = "plop";
|
|
20
|
+
process.env.AWS_SECRET_ACCESS_KEY = "plop";
|
|
21
|
+
process.env.AWS_DEFAULT_REGION = "us-east-1";
|
|
22
|
+
await checkLocalStack();
|
|
23
|
+
await super.before();
|
|
24
|
+
await this.install();
|
|
62
25
|
}
|
|
63
|
-
tweakApp(app) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
});
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
_super.tweakApp.call(this, app);
|
|
69
|
-
app.addService("test/awsevents", (yield Promise.resolve().then(() => __importStar(require(path.join(__dirname, ..."../../test/moddas/awsevents.js".split("/")))))).default);
|
|
70
|
-
});
|
|
26
|
+
async tweakApp(app) {
|
|
27
|
+
super.tweakApp(app);
|
|
28
|
+
app.addService("test/awsevents", (await import(path.join(__dirname, ..."../../test/moddas/awsevents.js".split("/")))).default);
|
|
71
29
|
}
|
|
72
|
-
install() {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
30
|
+
async install() {
|
|
31
|
+
var sqs = new SQS({
|
|
32
|
+
endpoint: "http://localhost:4566",
|
|
33
|
+
credentials: defaultCreds,
|
|
34
|
+
region: "us-east-1"
|
|
35
|
+
});
|
|
36
|
+
try {
|
|
37
|
+
this.info = await sqs.getQueueUrl({
|
|
38
|
+
QueueName: "webda-test",
|
|
39
|
+
QueueOwnerAWSAccountId: "000000000000"
|
|
78
40
|
});
|
|
79
|
-
|
|
80
|
-
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
if (err.name === "AWS.SimpleQueueService.NonExistentQueue") {
|
|
44
|
+
await sqs.createQueue({
|
|
45
|
+
QueueName: "webda-test"
|
|
46
|
+
});
|
|
47
|
+
this.info = await sqs.getQueueUrl({
|
|
81
48
|
QueueName: "webda-test",
|
|
82
49
|
QueueOwnerAWSAccountId: "000000000000"
|
|
83
50
|
});
|
|
84
51
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
52
|
+
}
|
|
53
|
+
try {
|
|
54
|
+
this.info = await sqs.getQueueUrl({
|
|
55
|
+
QueueName: "webda-test2.fifo",
|
|
56
|
+
QueueOwnerAWSAccountId: "000000000000"
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
if (err.name === "AWS.SimpleQueueService.NonExistentQueue") {
|
|
61
|
+
await sqs.createQueue({
|
|
62
|
+
QueueName: "webda-test2.fifo",
|
|
63
|
+
Attributes: {
|
|
64
|
+
FifoQueue: "true"
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
this.info = await sqs.getQueueUrl({
|
|
98
68
|
QueueName: "webda-test2.fifo",
|
|
99
69
|
QueueOwnerAWSAccountId: "000000000000"
|
|
100
70
|
});
|
|
101
71
|
}
|
|
102
|
-
|
|
103
|
-
if (err.name === "AWS.SimpleQueueService.NonExistentQueue") {
|
|
104
|
-
yield sqs.createQueue({
|
|
105
|
-
QueueName: "webda-test2.fifo",
|
|
106
|
-
Attributes: {
|
|
107
|
-
FifoQueue: "true"
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
this.info = yield sqs.getQueueUrl({
|
|
111
|
-
QueueName: "webda-test2.fifo",
|
|
112
|
-
QueueOwnerAWSAccountId: "000000000000"
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
});
|
|
72
|
+
}
|
|
117
73
|
}
|
|
118
|
-
basic() {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
assert.deepStrictEqual(queue.getCloudFormation(null), {});
|
|
127
|
-
});
|
|
74
|
+
async basic() {
|
|
75
|
+
let queue = this.webda.getService("sqsqueue");
|
|
76
|
+
queue.getParameters().queue = "http://localhost:4566/000000000000/webda-test";
|
|
77
|
+
await queue.__clean();
|
|
78
|
+
// Update timeout to 80000ms as Purge can only be sent once every 60s
|
|
79
|
+
await this.simple(queue, true);
|
|
80
|
+
queue.getParameters().CloudFormationSkip = true;
|
|
81
|
+
assert.deepStrictEqual(queue.getCloudFormation(null), {});
|
|
128
82
|
}
|
|
129
|
-
fifo() {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
yield queue.sendMessage({});
|
|
135
|
-
});
|
|
83
|
+
async fifo() {
|
|
84
|
+
let queue = this.webda.getService("sqsqueue");
|
|
85
|
+
queue.getParameters().queue = "http://localhost:4566/000000000000/webda-test2.fifo";
|
|
86
|
+
queue.getParameters().MessageGroupId = "myGroup";
|
|
87
|
+
await queue.sendMessage({});
|
|
136
88
|
}
|
|
137
89
|
ARN() {
|
|
138
90
|
let queue = this.webda.getService("sqsqueue");
|
|
@@ -152,55 +104,53 @@ let SQSQueueTest = class SQSQueueTest extends queue_spec_1.QueueTest {
|
|
|
152
104
|
}
|
|
153
105
|
assert.strictEqual(error, true);
|
|
154
106
|
}
|
|
155
|
-
purgeQueueError() {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
throw new Error("Other");
|
|
172
|
-
}));
|
|
173
|
-
yield assert.rejects(() => queue.__clean(), /Other/);
|
|
174
|
-
mock.restore();
|
|
107
|
+
async purgeQueueError() {
|
|
108
|
+
let queue = this.webda.getService("sqsqueue");
|
|
109
|
+
let mock = mockClient(SQS)
|
|
110
|
+
.on(PurgeQueueCommand)
|
|
111
|
+
.callsFake(async () => {
|
|
112
|
+
let error = new Error("AWS.SimpleQueueService.PurgeQueueInProgress");
|
|
113
|
+
error.name = "AWS.SimpleQueueService.PurgeQueueInProgress";
|
|
114
|
+
error.retryDelay = 1;
|
|
115
|
+
throw error;
|
|
116
|
+
});
|
|
117
|
+
await assert.rejects(() => queue.__clean(), /AWS.SimpleQueueService.PurgeQueueInProgress/);
|
|
118
|
+
mock.restore();
|
|
119
|
+
mock = mockClient(SQS)
|
|
120
|
+
.on(PurgeQueueCommand)
|
|
121
|
+
.callsFake(async () => {
|
|
122
|
+
throw new Error("Other");
|
|
175
123
|
});
|
|
124
|
+
await assert.rejects(() => queue.__clean(), /Other/);
|
|
125
|
+
mock.restore();
|
|
176
126
|
}
|
|
177
127
|
getMaxConsumers() {
|
|
178
|
-
let queue = new
|
|
128
|
+
let queue = new SQSQueue(this.webda, "plop", { maxConsumers: 30 });
|
|
179
129
|
assert.strictEqual(queue.getMaxConsumers(), 3);
|
|
180
130
|
queue.getParameters().maxConsumers = 3;
|
|
181
131
|
assert.strictEqual(queue.getMaxConsumers(), 1);
|
|
182
132
|
}
|
|
183
133
|
};
|
|
184
134
|
__decorate([
|
|
185
|
-
|
|
186
|
-
|
|
135
|
+
test,
|
|
136
|
+
timeout(80000)
|
|
187
137
|
], SQSQueueTest.prototype, "basic", null);
|
|
188
138
|
__decorate([
|
|
189
|
-
|
|
139
|
+
test
|
|
190
140
|
], SQSQueueTest.prototype, "fifo", null);
|
|
191
141
|
__decorate([
|
|
192
|
-
|
|
142
|
+
test
|
|
193
143
|
], SQSQueueTest.prototype, "ARN", null);
|
|
194
144
|
__decorate([
|
|
195
|
-
|
|
145
|
+
test
|
|
196
146
|
], SQSQueueTest.prototype, "getQueueInfos", null);
|
|
197
147
|
__decorate([
|
|
198
|
-
|
|
148
|
+
test
|
|
199
149
|
], SQSQueueTest.prototype, "purgeQueueError", null);
|
|
200
150
|
__decorate([
|
|
201
|
-
|
|
151
|
+
test
|
|
202
152
|
], SQSQueueTest.prototype, "getMaxConsumers", null);
|
|
203
153
|
SQSQueueTest = __decorate([
|
|
204
|
-
|
|
154
|
+
suite
|
|
205
155
|
], SQSQueueTest);
|
|
206
156
|
//# sourceMappingURL=sqsqueue.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqsqueue.spec.js","sourceRoot":"","sources":["../../src/services/sqsqueue.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sqsqueue.spec.js","sourceRoot":"","sources":["../../src/services/sqsqueue.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/shell.js
CHANGED
|
@@ -1,41 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
class AWSShell {
|
|
20
|
-
static shellCommand(Console, args) {
|
|
21
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
let command = args._.shift();
|
|
23
|
-
switch (command) {
|
|
24
|
-
case "init":
|
|
25
|
-
return cloudformation_1.default.init(Console);
|
|
26
|
-
case "route53":
|
|
27
|
-
return route53_1.Route53Service.shell(Console, args);
|
|
28
|
-
case "copyTable":
|
|
29
|
-
dynamodb_1.DynamoStore.copyTable(Console.app.getWorkerOutput(), args.sourceTable, args.targetTable);
|
|
30
|
-
return 0;
|
|
31
|
-
default:
|
|
32
|
-
Console.logger.log("ERROR", `Unknown command ${command}`);
|
|
33
|
-
return 1;
|
|
34
|
-
}
|
|
35
|
-
});
|
|
1
|
+
import CloudFormationDeployer from "./deployers/cloudformation.js";
|
|
2
|
+
import { DynamoStore } from "./services/dynamodb.js";
|
|
3
|
+
import { Route53Service } from "./services/route53.js";
|
|
4
|
+
export class AWSShell {
|
|
5
|
+
static async shellCommand(Console, args) {
|
|
6
|
+
let command = args._.shift();
|
|
7
|
+
switch (command) {
|
|
8
|
+
case "init":
|
|
9
|
+
return CloudFormationDeployer.init(Console);
|
|
10
|
+
case "route53":
|
|
11
|
+
return Route53Service.shell(Console, args);
|
|
12
|
+
case "copyTable":
|
|
13
|
+
DynamoStore.copyTable(Console.app.getWorkerOutput(), args.sourceTable, args.targetTable);
|
|
14
|
+
return 0;
|
|
15
|
+
default:
|
|
16
|
+
Console.logger.log("ERROR", `Unknown command ${command}`);
|
|
17
|
+
return 1;
|
|
18
|
+
}
|
|
36
19
|
}
|
|
37
20
|
}
|
|
38
|
-
exports.AWSShell = AWSShell;
|
|
39
21
|
/**
|
|
40
22
|
* Create the command line parser
|
|
41
23
|
*
|
|
@@ -52,7 +34,6 @@ function yargs(y) {
|
|
|
52
34
|
})
|
|
53
35
|
.command("copyTable <sourceTable> <targetTable>", "Import or export DNS");
|
|
54
36
|
}
|
|
55
|
-
exports.yargs = yargs;
|
|
56
37
|
const ShellCommand = AWSShell.shellCommand;
|
|
57
|
-
|
|
38
|
+
export { ShellCommand, yargs };
|
|
58
39
|
//# sourceMappingURL=shell.js.map
|
package/lib/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../src/shell.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,QAAQ;IACnB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI;QACrC,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7B,QAAQ,OAAO,EAAE;YACf,KAAK,MAAM;gBACT,OAAO,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,SAAS;gBACZ,OAAO,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC7C,KAAK,WAAW;gBACd,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACzF,OAAO,CAAC,CAAC;YACX;gBACE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,OAAO,EAAE,CAAC,CAAC;gBAC1D,OAAO,CAAC,CAAC;SACZ;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,KAAK,CAAC,CAAC;IACd,OAAO,CAAC;SACL,OAAO,CAAC,MAAM,EAAE,mBAAmB,CAAC;SACpC,OAAO,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,EAAE,CAAC,EAAE;QAC5D,OAAO,EAAE;aACN,OAAO,CAAC,wBAAwB,EAAE,wCAAwC,CAAC;aAC3E,OAAO,CAAC,eAAe,EAAE,6CAA6C,CAAC,CAAC;IAC7E,CAAC,CAAC;SACD,OAAO,CAAC,uCAAuC,EAAE,sBAAsB,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webda/aws",
|
|
3
|
-
"version": "2.0.0
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Webda AWS Services implementation",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"pretest": "webda build",
|
|
9
9
|
"lint": "prettier --check src/**/*",
|
|
10
10
|
"lint:fix": "prettier --write src/**/*",
|
|
11
|
-
"test": "
|
|
11
|
+
"test": "c8 mocha --recursive --exit --timeout=100000 src/**/*.spec.ts"
|
|
12
12
|
},
|
|
13
13
|
"repository": {
|
|
14
14
|
"type": "git",
|
|
@@ -45,15 +45,14 @@
|
|
|
45
45
|
"@aws-sdk/client-sts": "^3.58.0",
|
|
46
46
|
"@aws-sdk/lib-dynamodb": "^3.58.0",
|
|
47
47
|
"@aws-sdk/s3-request-presigner": "^3.58.0",
|
|
48
|
-
"@webda/core": "^2.0.0
|
|
48
|
+
"@webda/core": "^2.0.0",
|
|
49
49
|
"bluebird": "^3.7.2",
|
|
50
50
|
"glob": "^8.0.1",
|
|
51
51
|
"iam-policy-optimizer": "^1.1.2",
|
|
52
52
|
"uuid": "^8.3.2",
|
|
53
53
|
"yaml": "^2.0.0"
|
|
54
54
|
},
|
|
55
|
-
"
|
|
56
|
-
"extends": "@istanbuljs/nyc-config-typescript",
|
|
55
|
+
"c8": {
|
|
57
56
|
"report-dir": "./reports",
|
|
58
57
|
"reporter": [
|
|
59
58
|
"html",
|
|
@@ -72,11 +71,15 @@
|
|
|
72
71
|
"devDependencies": {
|
|
73
72
|
"@testdeck/mocha": "^0.2.0",
|
|
74
73
|
"@types/aws-lambda": "^8.10.97",
|
|
75
|
-
"@types/node": "14.
|
|
76
|
-
"@webda/async": "^2.0.0
|
|
77
|
-
"@webda/shell": "^2.0.0
|
|
74
|
+
"@types/node": "14.6.0",
|
|
75
|
+
"@webda/async": "^2.0.0",
|
|
76
|
+
"@webda/shell": "^2.0.0",
|
|
78
77
|
"aws-sdk-client-mock": "^0.6.2",
|
|
79
78
|
"sinon": "^14.0.0"
|
|
80
79
|
},
|
|
81
|
-
"
|
|
80
|
+
"type": "module",
|
|
81
|
+
"engines": {
|
|
82
|
+
"node": ">=14.6.0"
|
|
83
|
+
},
|
|
84
|
+
"gitHead": "5764db57432f146c84b2e8f52cf49fb5ded3af29"
|
|
82
85
|
}
|
package/webda.module.json
CHANGED
|
@@ -46,6 +46,14 @@
|
|
|
46
46
|
"type": {
|
|
47
47
|
"type": "string",
|
|
48
48
|
"description": "Type of the service"
|
|
49
|
+
},
|
|
50
|
+
"url": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"description": "URL on which to serve the content"
|
|
53
|
+
},
|
|
54
|
+
"openapi": {
|
|
55
|
+
"type": "object",
|
|
56
|
+
"additionalProperties": true
|
|
49
57
|
}
|
|
50
58
|
},
|
|
51
59
|
"required": [
|
|
@@ -62,6 +70,10 @@
|
|
|
62
70
|
"type": "string",
|
|
63
71
|
"description": "Type of the service"
|
|
64
72
|
},
|
|
73
|
+
"url": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"description": "URL on which to serve the content"
|
|
76
|
+
},
|
|
65
77
|
"model": {
|
|
66
78
|
"type": "string",
|
|
67
79
|
"description": "Webda model to use within the Store",
|
|
@@ -84,6 +96,10 @@
|
|
|
84
96
|
"type": "number",
|
|
85
97
|
"description": "Slow query threshold",
|
|
86
98
|
"default": 30000
|
|
99
|
+
},
|
|
100
|
+
"openapi": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"additionalProperties": true
|
|
87
103
|
}
|
|
88
104
|
},
|
|
89
105
|
"required": [
|
|
@@ -150,6 +166,10 @@
|
|
|
150
166
|
"type": "string",
|
|
151
167
|
"description": "Type of the service"
|
|
152
168
|
},
|
|
169
|
+
"url": {
|
|
170
|
+
"type": "string",
|
|
171
|
+
"description": "URL on which to serve the content"
|
|
172
|
+
},
|
|
153
173
|
"actions": {
|
|
154
174
|
"type": "array",
|
|
155
175
|
"items": {
|
|
@@ -157,6 +177,10 @@
|
|
|
157
177
|
},
|
|
158
178
|
"description": "Actions managed by the runner",
|
|
159
179
|
"default": []
|
|
180
|
+
},
|
|
181
|
+
"openapi": {
|
|
182
|
+
"type": "object",
|
|
183
|
+
"additionalProperties": true
|
|
160
184
|
}
|
|
161
185
|
},
|
|
162
186
|
"required": [
|
|
@@ -172,6 +196,10 @@
|
|
|
172
196
|
"type": "string",
|
|
173
197
|
"description": "Type of the service"
|
|
174
198
|
},
|
|
199
|
+
"url": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "URL on which to serve the content"
|
|
202
|
+
},
|
|
175
203
|
"map": {
|
|
176
204
|
"type": "object",
|
|
177
205
|
"additionalProperties": {
|
|
@@ -219,6 +247,10 @@
|
|
|
219
247
|
},
|
|
220
248
|
"prefix": {
|
|
221
249
|
"type": "string"
|
|
250
|
+
},
|
|
251
|
+
"openapi": {
|
|
252
|
+
"type": "object",
|
|
253
|
+
"additionalProperties": true
|
|
222
254
|
}
|
|
223
255
|
},
|
|
224
256
|
"required": [
|
|
@@ -235,6 +267,14 @@
|
|
|
235
267
|
"type": {
|
|
236
268
|
"type": "string",
|
|
237
269
|
"description": "Type of the service"
|
|
270
|
+
},
|
|
271
|
+
"url": {
|
|
272
|
+
"type": "string",
|
|
273
|
+
"description": "URL on which to serve the content"
|
|
274
|
+
},
|
|
275
|
+
"openapi": {
|
|
276
|
+
"type": "object",
|
|
277
|
+
"additionalProperties": true
|
|
238
278
|
}
|
|
239
279
|
},
|
|
240
280
|
"required": [
|
|
@@ -251,6 +291,10 @@
|
|
|
251
291
|
"type": "string",
|
|
252
292
|
"description": "Type of the service"
|
|
253
293
|
},
|
|
294
|
+
"url": {
|
|
295
|
+
"type": "string",
|
|
296
|
+
"description": "URL on which to serve the content"
|
|
297
|
+
},
|
|
254
298
|
"workerDelayer": {
|
|
255
299
|
"type": "object",
|
|
256
300
|
"properties": {
|
|
@@ -278,6 +322,10 @@
|
|
|
278
322
|
"type": "number",
|
|
279
323
|
"description": "Max number of queue consumers Queue will auto increase to this max number if queue is loaded and it will decrease to just one consumer if no messages are available",
|
|
280
324
|
"default": 10
|
|
325
|
+
},
|
|
326
|
+
"openapi": {
|
|
327
|
+
"type": "object",
|
|
328
|
+
"additionalProperties": true
|
|
281
329
|
}
|
|
282
330
|
},
|
|
283
331
|
"required": [
|