@l-v-yonsama/multi-platform-database-drivers 0.1.41 → 0.1.42
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/built/src/drivers/AwsDriver.d.ts +26 -0
- package/built/src/drivers/AwsDriver.js +152 -0
- package/built/src/drivers/AwsDriver.js.map +1 -0
- package/built/src/drivers/DBDriverResolver.js +3 -12
- package/built/src/drivers/DBDriverResolver.js.map +1 -1
- package/built/src/drivers/{AwsCloudwatchDriver.d.ts → aws/AwsCloudwatchServiceClient.d.ts} +10 -9
- package/built/src/drivers/{AwsCloudwatchDriver.js → aws/AwsCloudwatchServiceClient.js} +21 -29
- package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -0
- package/built/src/drivers/{AwsS3Driver.d.ts → aws/AwsS3ServiceClient.d.ts} +10 -9
- package/built/src/drivers/{AwsS3Driver.js → aws/AwsS3ServiceClient.js} +20 -27
- package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -0
- package/built/src/drivers/{AwsSQSDriver.d.ts → aws/AwsSQSServiceClient.d.ts} +12 -11
- package/built/src/drivers/{AwsSQSDriver.js → aws/AwsSQSServiceClient.js} +21 -27
- package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -0
- package/built/src/drivers/aws/AwsServiceClient.d.ts +15 -0
- package/built/src/drivers/aws/AwsServiceClient.js +79 -0
- package/built/src/drivers/aws/AwsServiceClient.js.map +1 -0
- package/built/src/drivers/aws/index.d.ts +4 -0
- package/built/src/drivers/aws/index.js +8 -0
- package/built/src/drivers/aws/index.js.map +1 -0
- package/built/src/drivers/index.d.ts +2 -3
- package/built/src/drivers/index.js +2 -3
- package/built/src/drivers/index.js.map +1 -1
- package/built/src/example.js +10 -7
- package/built/src/example.js.map +1 -1
- package/built/src/resource/DbResource.d.ts +7 -5
- package/built/src/resource/DbResource.js +1 -2
- package/built/src/resource/DbResource.js.map +1 -1
- package/built/src/types/AwsServiceType.d.ts +7 -0
- package/built/src/types/AwsServiceType.js +10 -0
- package/built/src/types/AwsServiceType.js.map +1 -0
- package/built/src/types/DBType.d.ts +3 -7
- package/built/src/types/DBType.js +4 -19
- package/built/src/types/DBType.js.map +1 -1
- package/built/src/util.d.ts +4 -0
- package/built/src/util.js +37 -0
- package/built/src/util.js.map +1 -0
- package/package.json +1 -1
- package/built/src/drivers/AwsBaseDriver.d.ts +0 -24
- package/built/src/drivers/AwsBaseDriver.js +0 -100
- package/built/src/drivers/AwsBaseDriver.js.map +0 -1
- package/built/src/drivers/AwsCloudwatchDriver.js.map +0 -1
- package/built/src/drivers/AwsS3Driver.js.map +0 -1
- package/built/src/drivers/AwsSQSDriver.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { BaseDriver } from './BaseDriver';
|
|
2
|
+
import { DbConnection, DbDatabase } from '../resource';
|
|
3
|
+
import { AwsCredentialIdentityProvider, AwsCredentialIdentity } from '@aws-sdk/types';
|
|
4
|
+
import { AwsSQSServiceClient } from './aws/AwsSQSServiceClient';
|
|
5
|
+
import { AwsCloudwatchServiceClient } from './aws/AwsCloudwatchServiceClient';
|
|
6
|
+
import { AwsS3ServiceClient } from './aws/AwsS3ServiceClient';
|
|
7
|
+
export interface Destroyable {
|
|
8
|
+
destroy(): void;
|
|
9
|
+
}
|
|
10
|
+
export type ClientConfigType = {
|
|
11
|
+
region?: string;
|
|
12
|
+
endpoint?: string;
|
|
13
|
+
credentials: AwsCredentialIdentityProvider | AwsCredentialIdentity;
|
|
14
|
+
};
|
|
15
|
+
export declare class AwsDriver extends BaseDriver {
|
|
16
|
+
sqsClient: AwsSQSServiceClient;
|
|
17
|
+
cloudwatchClient: AwsCloudwatchServiceClient;
|
|
18
|
+
s3Client: AwsS3ServiceClient;
|
|
19
|
+
constructor(conRes: DbConnection);
|
|
20
|
+
protected createClientConfig(): ClientConfigType;
|
|
21
|
+
private createAwsCredential;
|
|
22
|
+
connectSub(): Promise<string>;
|
|
23
|
+
getInfomationSchemas(): Promise<DbDatabase[]>;
|
|
24
|
+
test(with_connect?: boolean): Promise<string>;
|
|
25
|
+
closeSub(): Promise<string>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AwsDriver = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const BaseDriver_1 = require("./BaseDriver");
|
|
6
|
+
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
7
|
+
const AwsSupplyCredentialType_1 = require("../types/AwsSupplyCredentialType");
|
|
8
|
+
const AwsSQSServiceClient_1 = require("./aws/AwsSQSServiceClient");
|
|
9
|
+
const AwsCloudwatchServiceClient_1 = require("./aws/AwsCloudwatchServiceClient");
|
|
10
|
+
const AwsS3ServiceClient_1 = require("./aws/AwsS3ServiceClient");
|
|
11
|
+
const AwsServiceType_1 = require("../types/AwsServiceType");
|
|
12
|
+
class AwsDriver extends BaseDriver_1.BaseDriver {
|
|
13
|
+
constructor(conRes) {
|
|
14
|
+
super(conRes);
|
|
15
|
+
}
|
|
16
|
+
createClientConfig() {
|
|
17
|
+
const { url, awsSetting } = this.conRes;
|
|
18
|
+
const config = {
|
|
19
|
+
credentials: this.createAwsCredential(),
|
|
20
|
+
};
|
|
21
|
+
if (awsSetting === null || awsSetting === void 0 ? void 0 : awsSetting.region) {
|
|
22
|
+
config.region = awsSetting.region;
|
|
23
|
+
}
|
|
24
|
+
if (url) {
|
|
25
|
+
config.endpoint = url;
|
|
26
|
+
}
|
|
27
|
+
return config;
|
|
28
|
+
}
|
|
29
|
+
createAwsCredential() {
|
|
30
|
+
const { awsSetting, user, password } = this.conRes;
|
|
31
|
+
if (awsSetting && awsSetting.supplyCredentialType) {
|
|
32
|
+
switch (awsSetting.supplyCredentialType) {
|
|
33
|
+
case AwsSupplyCredentialType_1.SupplyCredentialType.sharedCredentialsFile:
|
|
34
|
+
return (0, credential_providers_1.fromIni)({ profile: awsSetting.profile });
|
|
35
|
+
case AwsSupplyCredentialType_1.SupplyCredentialType.environmentVariables:
|
|
36
|
+
return (0, credential_providers_1.fromEnv)();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
accessKeyId: user,
|
|
41
|
+
secretAccessKey: password,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
connectSub() {
|
|
45
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const messageList = [];
|
|
47
|
+
const config = this.createClientConfig();
|
|
48
|
+
const cw = new AwsCloudwatchServiceClient_1.AwsCloudwatchServiceClient(this.conRes, config);
|
|
49
|
+
const sqs = new AwsSQSServiceClient_1.AwsSQSServiceClient(this.conRes, config);
|
|
50
|
+
const s3 = new AwsS3ServiceClient_1.AwsS3ServiceClient(this.conRes, config);
|
|
51
|
+
const { services } = this.conRes.awsSetting;
|
|
52
|
+
let message = '';
|
|
53
|
+
if (services.includes(AwsServiceType_1.AwsServiceType.Cloudwatch)) {
|
|
54
|
+
message = yield cw.connect();
|
|
55
|
+
if (message) {
|
|
56
|
+
messageList.push(message);
|
|
57
|
+
this.cloudwatchClient = null;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.cloudwatchClient = cw;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (services.includes(AwsServiceType_1.AwsServiceType.SQS)) {
|
|
64
|
+
message = yield sqs.connect();
|
|
65
|
+
if (message) {
|
|
66
|
+
messageList.push(message);
|
|
67
|
+
this.sqsClient = null;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.sqsClient = sqs;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (services.includes(AwsServiceType_1.AwsServiceType.S3)) {
|
|
74
|
+
message = yield s3.connect();
|
|
75
|
+
if (message) {
|
|
76
|
+
messageList.push(message);
|
|
77
|
+
this.s3Client = null;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
this.s3Client = s3;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return messageList.join(',');
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
getInfomationSchemas() {
|
|
87
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const list = [];
|
|
89
|
+
for (const client of [
|
|
90
|
+
this.s3Client,
|
|
91
|
+
this.sqsClient,
|
|
92
|
+
this.cloudwatchClient,
|
|
93
|
+
]) {
|
|
94
|
+
if (!client) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const db = yield client.getInfomationSchemas();
|
|
98
|
+
if (db) {
|
|
99
|
+
list.push(db);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return list;
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
test(with_connect = false) {
|
|
106
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const messageList = [];
|
|
108
|
+
const config = this.createClientConfig();
|
|
109
|
+
const { services } = this.conRes.awsSetting;
|
|
110
|
+
if (services.includes(AwsServiceType_1.AwsServiceType.Cloudwatch)) {
|
|
111
|
+
const client = new AwsCloudwatchServiceClient_1.AwsCloudwatchServiceClient(this.conRes, config);
|
|
112
|
+
const message = yield client.test(with_connect);
|
|
113
|
+
if (message) {
|
|
114
|
+
messageList.push(message);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
if (services.includes(AwsServiceType_1.AwsServiceType.SQS)) {
|
|
118
|
+
const client = new AwsSQSServiceClient_1.AwsSQSServiceClient(this.conRes, config);
|
|
119
|
+
const message = yield client.test(with_connect);
|
|
120
|
+
if (message) {
|
|
121
|
+
messageList.push(message);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if (services.includes(AwsServiceType_1.AwsServiceType.S3)) {
|
|
125
|
+
const client = new AwsS3ServiceClient_1.AwsS3ServiceClient(this.conRes, config);
|
|
126
|
+
const message = yield client.test(with_connect);
|
|
127
|
+
if (message) {
|
|
128
|
+
messageList.push(message);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return messageList.join(',');
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
closeSub() {
|
|
135
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
const messageList = [];
|
|
137
|
+
for (const client of [
|
|
138
|
+
this.sqsClient,
|
|
139
|
+
this.cloudwatchClient,
|
|
140
|
+
this.s3Client,
|
|
141
|
+
]) {
|
|
142
|
+
const message = yield client.disconnect();
|
|
143
|
+
if (message) {
|
|
144
|
+
messageList.push(message);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return messageList.join(',');
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.AwsDriver = AwsDriver;
|
|
152
|
+
//# sourceMappingURL=AwsDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsDriver.js","sourceRoot":"","sources":["../../../src/drivers/AwsDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,7 @@ const types_1 = require("../types");
|
|
|
8
8
|
const MySQLDriver_1 = require("./MySQLDriver");
|
|
9
9
|
const PostgresDriver_1 = require("./PostgresDriver");
|
|
10
10
|
const RedisDriver_1 = require("./RedisDriver");
|
|
11
|
-
const
|
|
12
|
-
const AwsSQSDriver_1 = require("./AwsSQSDriver");
|
|
13
|
-
const AwsCloudwatchDriver_1 = require("./AwsCloudwatchDriver");
|
|
11
|
+
const AwsDriver_1 = require("./AwsDriver");
|
|
14
12
|
const uid = new short_unique_id_1.default();
|
|
15
13
|
class DBDriverResolver {
|
|
16
14
|
static getInstance() {
|
|
@@ -41,15 +39,8 @@ class DBDriverResolver {
|
|
|
41
39
|
case types_1.DBType.Redis:
|
|
42
40
|
driver = new RedisDriver_1.RedisDriver(conRes);
|
|
43
41
|
break;
|
|
44
|
-
case types_1.DBType.
|
|
45
|
-
|
|
46
|
-
driver = new AwsS3Driver_1.AwsS3Driver(conRes);
|
|
47
|
-
break;
|
|
48
|
-
case types_1.DBType.AwsSQS:
|
|
49
|
-
driver = new AwsSQSDriver_1.AwsSQSDriver(conRes);
|
|
50
|
-
break;
|
|
51
|
-
case types_1.DBType.AwsCloudwatch:
|
|
52
|
-
driver = new AwsCloudwatchDriver_1.AwsCloudwatchDriver(conRes);
|
|
42
|
+
case types_1.DBType.Aws:
|
|
43
|
+
driver = new AwsDriver_1.AwsDriver(conRes);
|
|
53
44
|
break;
|
|
54
45
|
default:
|
|
55
46
|
throw new Error(`${conRes.dbType} is not supported.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBDriverResolver.js","sourceRoot":"","sources":["../../../src/drivers/DBDriverResolver.ts"],"names":[],"mappings":";;;;AAAA,8EAA4C;AAE5C,0CAA8D;AAC9D,oCAAkC;AAClC,+CAA4C;AAC5C,qDAAkD;AAClD,+CAA4C;AAC5C
|
|
1
|
+
{"version":3,"file":"DBDriverResolver.js","sourceRoot":"","sources":["../../../src/drivers/DBDriverResolver.ts"],"names":[],"mappings":";;;;AAAA,8EAA4C;AAE5C,0CAA8D;AAC9D,oCAAkC;AAClC,+CAA4C;AAC5C,qDAAkD;AAClD,+CAA4C;AAC5C,2CAAwC;AAExC,MAAM,GAAG,GAAG,IAAI,yBAAa,EAAE,CAAC;AAEhC,MAAa,gBAAgB;IAK3B,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;SACxC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAGD;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAsB,CAAC;IACjD,CAAC;IAED,aAAa,CAAC,YAAoB;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;YACrC,MAAM,IAAI,KAAK,CACb,+BAA+B,YAAY,cAAc,CAC1D,CAAC;SACH;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,YAAY,CAAuB,OAA0B;QAC3D,MAAM,MAAM,GAAG,IAAI,uBAAY,iCAC1B,OAAO,KACV,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IACrB,CAAC;QAEH,IAAI,MAAM,GAAG,SAAS,CAAC;QACvB,QAAQ,MAAM,CAAC,MAAM,EAAE;YAIrB,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,cAAM,CAAC,QAAQ;gBAClB,MAAM,GAAG,IAAI,+BAAc,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YAIR,KAAK,cAAM,CAAC,GAAG;gBACb,MAAM,GAAG,IAAI,qBAAS,CAAC,MAAM,CAAC,CAAC;gBAC/B,MAAM;YAOR;gBACE,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,YAAY,CAAC,MAAkB;QAC7B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC;IAEK,QAAQ;;YACZ,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAO,MAAkB,EAAE,EAAE;gBAClD,IAAI;oBACF,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;iBAC3B;gBAAC,OAAO,CAAC,EAAE;oBACV,YAAY,IAAI,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC;iBAClC;YACH,CAAC,CAAA,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACvB,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;CACF;AAjFD,4CAiFC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ScanParams } from '../types';
|
|
1
|
+
import { DbConnection, DbDatabase, DbKey, LogMessageParams, ResultSetDataHolder } from '../../resource';
|
|
2
|
+
import { ScanParams } from '../../types';
|
|
4
3
|
import { CloudWatchLogsClient, GetQueryResultsCommandOutput, LogStream, QueryDefinition, StartQueryCommandInput } from '@aws-sdk/client-cloudwatch-logs';
|
|
5
|
-
import {
|
|
6
|
-
|
|
4
|
+
import { AwsServiceClient } from './AwsServiceClient';
|
|
5
|
+
import { ClientConfigType } from '../AwsDriver';
|
|
6
|
+
import { Scannable } from '../BaseDriver';
|
|
7
|
+
export declare class AwsCloudwatchServiceClient extends AwsServiceClient implements Scannable {
|
|
7
8
|
logClient: CloudWatchLogsClient;
|
|
8
|
-
constructor(conRes: DbConnection);
|
|
9
|
+
constructor(conRes: DbConnection, config: ClientConfigType);
|
|
9
10
|
connectSub(): Promise<string>;
|
|
10
|
-
testSub(): Promise<
|
|
11
|
+
protected testSub(): Promise<void>;
|
|
11
12
|
getLogEvents(params: {
|
|
12
13
|
logGroupName: string;
|
|
13
14
|
logStreamName: string;
|
|
@@ -19,10 +20,10 @@ export declare class AwsCloudwatchDriver extends AwsBaseDriver implements Scanna
|
|
|
19
20
|
startTime: number;
|
|
20
21
|
endTime: number;
|
|
21
22
|
}): Promise<ResultSetDataHolder>;
|
|
22
|
-
getInfomationSchemas(): Promise<
|
|
23
|
+
getInfomationSchemas(): Promise<DbDatabase>;
|
|
23
24
|
getLogStreams({ logGroupName, }: {
|
|
24
25
|
logGroupName: string;
|
|
25
26
|
}): Promise<LogStream[]>;
|
|
26
27
|
getQueries(): Promise<QueryDefinition[]>;
|
|
27
|
-
protected
|
|
28
|
+
protected closeSub(): Promise<void>;
|
|
28
29
|
}
|
|
@@ -1,37 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.AwsCloudwatchServiceClient = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const resource_1 = require("
|
|
6
|
-
const types_1 = require("
|
|
5
|
+
const resource_1 = require("../../resource");
|
|
6
|
+
const types_1 = require("../../types");
|
|
7
7
|
const client_cloudwatch_logs_1 = require("@aws-sdk/client-cloudwatch-logs");
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
const AwsServiceClient_1 = require("./AwsServiceClient");
|
|
9
|
+
const util_1 = require("../../util");
|
|
10
|
+
class AwsCloudwatchServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
11
|
+
constructor(conRes, config) {
|
|
12
|
+
super(conRes, config);
|
|
12
13
|
}
|
|
13
14
|
connectSub() {
|
|
14
15
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
|
|
16
|
-
this.logClient = new client_cloudwatch_logs_1.CloudWatchLogsClient(config);
|
|
16
|
+
this.logClient = new client_cloudwatch_logs_1.CloudWatchLogsClient(this.config);
|
|
17
17
|
return this.test(false);
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
testSub() {
|
|
21
21
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
let errorReason = '';
|
|
23
22
|
if (this.logClient) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
console.error(e);
|
|
31
|
-
errorReason = e.message;
|
|
32
|
-
}
|
|
23
|
+
yield this.logClient.send(new client_cloudwatch_logs_1.DescribeLogGroupsCommand({
|
|
24
|
+
limit: 1,
|
|
25
|
+
}));
|
|
33
26
|
}
|
|
34
|
-
return errorReason;
|
|
35
27
|
});
|
|
36
28
|
}
|
|
37
29
|
getLogEvents(params) {
|
|
@@ -74,7 +66,7 @@ class AwsCloudwatchDriver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
74
66
|
let status = client_cloudwatch_logs_1.QueryStatus.Scheduled;
|
|
75
67
|
let results;
|
|
76
68
|
while (status === client_cloudwatch_logs_1.QueryStatus.Running || status === client_cloudwatch_logs_1.QueryStatus.Scheduled) {
|
|
77
|
-
yield (0,
|
|
69
|
+
yield (0, util_1.sleep)(1500);
|
|
78
70
|
results = yield this.logClient.send(new client_cloudwatch_logs_1.GetQueryResultsCommand({
|
|
79
71
|
queryId,
|
|
80
72
|
}));
|
|
@@ -124,11 +116,9 @@ class AwsCloudwatchDriver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
124
116
|
getInfomationSchemas() {
|
|
125
117
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
126
118
|
if (!this.conRes) {
|
|
127
|
-
return
|
|
119
|
+
return null;
|
|
128
120
|
}
|
|
129
|
-
const dbResources = new Array();
|
|
130
121
|
const dbDatabase = new resource_1.DbDatabase('Cloudwatch');
|
|
131
|
-
dbResources.push(dbDatabase);
|
|
132
122
|
try {
|
|
133
123
|
let nextToken = undefined;
|
|
134
124
|
do {
|
|
@@ -146,7 +136,7 @@ class AwsCloudwatchDriver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
146
136
|
catch (e) {
|
|
147
137
|
console.error(e);
|
|
148
138
|
}
|
|
149
|
-
return
|
|
139
|
+
return dbDatabase;
|
|
150
140
|
});
|
|
151
141
|
}
|
|
152
142
|
getLogStreams({ logGroupName, }) {
|
|
@@ -186,9 +176,11 @@ class AwsCloudwatchDriver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
186
176
|
return list;
|
|
187
177
|
});
|
|
188
178
|
}
|
|
189
|
-
|
|
190
|
-
return this
|
|
179
|
+
closeSub() {
|
|
180
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
181
|
+
yield this.logClient.destroy();
|
|
182
|
+
});
|
|
191
183
|
}
|
|
192
184
|
}
|
|
193
|
-
exports.
|
|
194
|
-
//# sourceMappingURL=
|
|
185
|
+
exports.AwsCloudwatchServiceClient = AwsCloudwatchServiceClient;
|
|
186
|
+
//# sourceMappingURL=AwsCloudwatchServiceClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsCloudwatchServiceClient.js","sourceRoot":"","sources":["../../../../src/drivers/aws/AwsCloudwatchServiceClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { PutObjectCommandInput, S3Client } from '@aws-sdk/client-s3';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
2
|
+
import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, S3KeyParams } from '../../resource';
|
|
3
|
+
import { ScanParams } from '../../types';
|
|
4
|
+
import { AwsServiceClient } from './AwsServiceClient';
|
|
5
|
+
import { ClientConfigType } from '../AwsDriver';
|
|
6
|
+
import { Scannable } from '../BaseDriver';
|
|
7
|
+
export declare class AwsS3ServiceClient extends AwsServiceClient implements Scannable {
|
|
7
8
|
s3Client: S3Client;
|
|
8
|
-
constructor(conRes: DbConnection);
|
|
9
|
+
constructor(conRes: DbConnection, config: ClientConfigType);
|
|
9
10
|
connectSub(): Promise<string>;
|
|
10
|
-
testSub(): Promise<
|
|
11
|
+
protected testSub(): Promise<void>;
|
|
11
12
|
listObjects({ bucket, prefix, limit, withValue, }: {
|
|
12
13
|
bucket: string;
|
|
13
14
|
prefix: string;
|
|
@@ -15,7 +16,7 @@ export declare class AwsS3Driver extends AwsBaseDriver implements Scannable {
|
|
|
15
16
|
withValue: boolean;
|
|
16
17
|
}): Promise<DbKey<S3KeyParams>[]>;
|
|
17
18
|
scan(params: ScanParams): Promise<ResultSetDataHolder>;
|
|
18
|
-
getInfomationSchemas(): Promise<
|
|
19
|
+
getInfomationSchemas(): Promise<DbDatabase>;
|
|
19
20
|
createBucket({ bucket }: {
|
|
20
21
|
bucket: string;
|
|
21
22
|
}): Promise<void>;
|
|
@@ -34,5 +35,5 @@ export declare class AwsS3Driver extends AwsBaseDriver implements Scannable {
|
|
|
34
35
|
removeAllObjects({ bucket }: {
|
|
35
36
|
bucket: string;
|
|
36
37
|
}): Promise<void>;
|
|
37
|
-
protected
|
|
38
|
+
protected closeSub(): Promise<void>;
|
|
38
39
|
}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.AwsS3ServiceClient = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
6
|
-
const resource_1 = require("
|
|
7
|
-
const types_1 = require("
|
|
8
|
-
const
|
|
9
|
-
class
|
|
10
|
-
constructor(conRes) {
|
|
11
|
-
super(conRes);
|
|
6
|
+
const resource_1 = require("../../resource");
|
|
7
|
+
const types_1 = require("../../types");
|
|
8
|
+
const AwsServiceClient_1 = require("./AwsServiceClient");
|
|
9
|
+
class AwsS3ServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
10
|
+
constructor(conRes, config) {
|
|
11
|
+
super(conRes, config);
|
|
12
12
|
}
|
|
13
13
|
connectSub() {
|
|
14
|
+
var _a, _b;
|
|
14
15
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const config = Object.assign({}, this.
|
|
16
|
-
if (this.conRes.
|
|
17
|
-
config.s3ForcePathStyle =
|
|
16
|
+
const config = Object.assign({}, this.config);
|
|
17
|
+
if ((_a = this.conRes.awsSetting) === null || _a === void 0 ? void 0 : _a.s3ForcePathStyle) {
|
|
18
|
+
config.s3ForcePathStyle = (_b = this.conRes.awsSetting) === null || _b === void 0 ? void 0 : _b.s3ForcePathStyle;
|
|
18
19
|
}
|
|
19
20
|
this.s3Client = new client_s3_1.S3Client(config);
|
|
20
21
|
return this.test(false);
|
|
@@ -22,17 +23,9 @@ class AwsS3Driver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
22
23
|
}
|
|
23
24
|
testSub() {
|
|
24
25
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
let errorReason = '';
|
|
26
26
|
if (this.s3Client) {
|
|
27
|
-
|
|
28
|
-
yield this.s3Client.send(new client_s3_1.ListBucketsCommand({}));
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
console.error(e);
|
|
32
|
-
errorReason = e.message;
|
|
33
|
-
}
|
|
27
|
+
yield this.s3Client.send(new client_s3_1.ListBucketsCommand({}));
|
|
34
28
|
}
|
|
35
|
-
return errorReason;
|
|
36
29
|
});
|
|
37
30
|
}
|
|
38
31
|
listObjects({ bucket, prefix, limit, withValue, }) {
|
|
@@ -107,11 +100,9 @@ class AwsS3Driver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
107
100
|
getInfomationSchemas() {
|
|
108
101
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
109
102
|
if (!this.conRes) {
|
|
110
|
-
return
|
|
103
|
+
return null;
|
|
111
104
|
}
|
|
112
|
-
const dbResources = new Array();
|
|
113
105
|
const dbDatabase = new resource_1.DbDatabase('S3');
|
|
114
|
-
dbResources.push(dbDatabase);
|
|
115
106
|
try {
|
|
116
107
|
const buckets = yield this.s3Client.send(new client_s3_1.ListBucketsCommand({}));
|
|
117
108
|
if (buckets.Buckets) {
|
|
@@ -130,7 +121,7 @@ class AwsS3Driver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
130
121
|
catch (e) {
|
|
131
122
|
console.error(e);
|
|
132
123
|
}
|
|
133
|
-
return
|
|
124
|
+
return dbDatabase;
|
|
134
125
|
});
|
|
135
126
|
}
|
|
136
127
|
createBucket({ bucket }) {
|
|
@@ -184,9 +175,11 @@ class AwsS3Driver extends AwsBaseDriver_1.AwsBaseDriver {
|
|
|
184
175
|
}
|
|
185
176
|
});
|
|
186
177
|
}
|
|
187
|
-
|
|
188
|
-
return this
|
|
178
|
+
closeSub() {
|
|
179
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
180
|
+
yield this.s3Client.destroy();
|
|
181
|
+
});
|
|
189
182
|
}
|
|
190
183
|
}
|
|
191
|
-
exports.
|
|
192
|
-
//# sourceMappingURL=
|
|
184
|
+
exports.AwsS3ServiceClient = AwsS3ServiceClient;
|
|
185
|
+
//# sourceMappingURL=AwsS3ServiceClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsS3ServiceClient.js","sourceRoot":"","sources":["../../../../src/drivers/aws/AwsS3ServiceClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { ReceiveMessageCommandInput, SQSClient } from '@aws-sdk/client-sqs';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
|
|
2
|
+
import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, SQSMessageParams } from '../../resource';
|
|
3
|
+
import { ScanParams } from '../../types';
|
|
4
|
+
import { AwsSQSAttributes } from '../../types/AwsSQSAttributes';
|
|
5
|
+
import { AwsServiceClient } from './AwsServiceClient';
|
|
6
|
+
import { ClientConfigType } from '../AwsDriver';
|
|
7
|
+
import { Scannable } from '../BaseDriver';
|
|
8
|
+
export declare class AwsSQSServiceClient extends AwsServiceClient implements Scannable {
|
|
8
9
|
sqsClient: SQSClient;
|
|
9
|
-
constructor(conRes: DbConnection);
|
|
10
|
-
connectSub(): Promise<string>;
|
|
11
|
-
testSub(): Promise<
|
|
10
|
+
constructor(conRes: DbConnection, config: ClientConfigType);
|
|
11
|
+
protected connectSub(): Promise<string>;
|
|
12
|
+
protected testSub(): Promise<void>;
|
|
12
13
|
receiveMessages(params: ReceiveMessageCommandInput): Promise<DbKey<SQSMessageParams>[]>;
|
|
13
14
|
scan(params: ScanParams): Promise<ResultSetDataHolder>;
|
|
14
|
-
getInfomationSchemas(): Promise<
|
|
15
|
+
getInfomationSchemas(): Promise<DbDatabase>;
|
|
15
16
|
private toAttributes;
|
|
16
17
|
createQueue({ name, attributes, }: {
|
|
17
18
|
name: string;
|
|
@@ -27,5 +28,5 @@ export declare class AwsSQSDriver extends AwsBaseDriver implements Scannable {
|
|
|
27
28
|
url: string;
|
|
28
29
|
receiptHandle: string;
|
|
29
30
|
}): Promise<void>;
|
|
30
|
-
protected
|
|
31
|
+
protected closeSub(): Promise<void>;
|
|
31
32
|
}
|