@l-v-yonsama/multi-platform-database-drivers 0.1.41 → 0.1.43

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 (44) hide show
  1. package/built/src/drivers/AwsDriver.d.ts +26 -0
  2. package/built/src/drivers/AwsDriver.js +152 -0
  3. package/built/src/drivers/AwsDriver.js.map +1 -0
  4. package/built/src/drivers/DBDriverResolver.js +3 -12
  5. package/built/src/drivers/DBDriverResolver.js.map +1 -1
  6. package/built/src/drivers/{AwsCloudwatchDriver.d.ts → aws/AwsCloudwatchServiceClient.d.ts} +10 -9
  7. package/built/src/drivers/{AwsCloudwatchDriver.js → aws/AwsCloudwatchServiceClient.js} +21 -29
  8. package/built/src/drivers/aws/AwsCloudwatchServiceClient.js.map +1 -0
  9. package/built/src/drivers/{AwsS3Driver.d.ts → aws/AwsS3ServiceClient.d.ts} +10 -9
  10. package/built/src/drivers/{AwsS3Driver.js → aws/AwsS3ServiceClient.js} +20 -27
  11. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -0
  12. package/built/src/drivers/{AwsSQSDriver.d.ts → aws/AwsSQSServiceClient.d.ts} +12 -11
  13. package/built/src/drivers/{AwsSQSDriver.js → aws/AwsSQSServiceClient.js} +21 -27
  14. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -0
  15. package/built/src/drivers/aws/AwsServiceClient.d.ts +15 -0
  16. package/built/src/drivers/aws/AwsServiceClient.js +79 -0
  17. package/built/src/drivers/aws/AwsServiceClient.js.map +1 -0
  18. package/built/src/drivers/aws/index.d.ts +4 -0
  19. package/built/src/drivers/aws/index.js +8 -0
  20. package/built/src/drivers/aws/index.js.map +1 -0
  21. package/built/src/drivers/index.d.ts +2 -3
  22. package/built/src/drivers/index.js +2 -3
  23. package/built/src/drivers/index.js.map +1 -1
  24. package/built/src/example.js +10 -7
  25. package/built/src/example.js.map +1 -1
  26. package/built/src/resource/DbResource.d.ts +7 -5
  27. package/built/src/resource/DbResource.js +1 -2
  28. package/built/src/resource/DbResource.js.map +1 -1
  29. package/built/src/types/AwsServiceType.d.ts +7 -0
  30. package/built/src/types/AwsServiceType.js +10 -0
  31. package/built/src/types/AwsServiceType.js.map +1 -0
  32. package/built/src/types/DBType.d.ts +3 -7
  33. package/built/src/types/DBType.js +4 -19
  34. package/built/src/types/DBType.js.map +1 -1
  35. package/built/src/util.d.ts +4 -0
  36. package/built/src/util.js +37 -0
  37. package/built/src/util.js.map +1 -0
  38. package/package.json +1 -1
  39. package/built/src/drivers/AwsBaseDriver.d.ts +0 -24
  40. package/built/src/drivers/AwsBaseDriver.js +0 -100
  41. package/built/src/drivers/AwsBaseDriver.js.map +0 -1
  42. package/built/src/drivers/AwsCloudwatchDriver.js.map +0 -1
  43. package/built/src/drivers/AwsS3Driver.js.map +0 -1
  44. 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 AwsS3Driver_1 = require("./AwsS3Driver");
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.AwsS3:
45
- case types_1.DBType.Minio:
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,+CAA4C;AAC5C,iDAA8C;AAC9C,+DAA4D;AAE5D,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,KAAK,CAAC;YAClB,KAAK,cAAM,CAAC,KAAK;gBACf,MAAM,GAAG,IAAI,yBAAW,CAAC,MAAM,CAAC,CAAC;gBACjC,MAAM;YACR,KAAK,cAAM,CAAC,MAAM;gBAChB,MAAM,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM;YACR,KAAK,cAAM,CAAC,aAAa;gBACvB,MAAM,GAAG,IAAI,yCAAmB,CAAC,MAAM,CAAC,CAAC;gBACzC,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;AAxFD,4CAwFC"}
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 { Scannable } from './BaseDriver';
2
- import { DbConnection, DbDatabase, DbKey, LogMessageParams, ResultSetDataHolder } from '../resource';
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 { AwsBaseDriver, Destroyable } from './AwsBaseDriver';
6
- export declare class AwsCloudwatchDriver extends AwsBaseDriver implements Scannable {
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<string>;
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<Array<DbDatabase>>;
23
+ getInfomationSchemas(): Promise<DbDatabase>;
23
24
  getLogStreams({ logGroupName, }: {
24
25
  logGroupName: string;
25
26
  }): Promise<LogStream[]>;
26
27
  getQueries(): Promise<QueryDefinition[]>;
27
- protected getClient(): Destroyable;
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.AwsCloudwatchDriver = void 0;
3
+ exports.AwsCloudwatchServiceClient = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const resource_1 = require("../resource");
6
- const types_1 = require("../types");
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 AwsBaseDriver_1 = require("./AwsBaseDriver");
9
- class AwsCloudwatchDriver extends AwsBaseDriver_1.AwsBaseDriver {
10
- constructor(conRes) {
11
- super(conRes);
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
- const config = this.createClientConfig();
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
- try {
25
- yield this.logClient.send(new client_cloudwatch_logs_1.DescribeLogGroupsCommand({
26
- limit: 1,
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, AwsBaseDriver_1.sleep)(1500);
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 dbResources;
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
- getClient() {
190
- return this.logClient;
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.AwsCloudwatchDriver = AwsCloudwatchDriver;
194
- //# sourceMappingURL=AwsCloudwatchDriver.js.map
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":";;;;AAEA,6CAQwB;AACxB,uCAA4D;AAC5D,4EAcyC;AACzC,yDAAsD;AAEtD,qCAAmC;AAGnC,MAAa,0BACX,SAAQ,mCAAgB;IAKxB,YAAY,MAAoB,EAAE,MAAwB;QACxD,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,CAAC;IAEK,UAAU;;YACd,IAAI,CAAC,SAAS,GAAG,IAAI,6CAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;KAAA;IAEe,OAAO;;YACrB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACvB,IAAI,iDAAwB,CAAC;oBAC3B,KAAK,EAAE,CAAC;iBACT,CAAC,CACH,CAAC;aACH;QACH,CAAC;KAAA;IAEK,YAAY,CAAC,MAKlB;;;YACC,MAAM,IAAI,GAAqB,EAAE,CAAC;YAClC,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAC1D,MAAM,aAAa,GAAG,MAAA,MAAM,CAAC,KAAK,mCAAI,GAAG,CAAC;YAC1C,IAAI,SAAS,GAAuB,SAAS,CAAC;YAC9C,GAAG;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,KAAM,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,IAAI,4CAAmB,CAAC;oBACtB,YAAY;oBACZ,aAAa;oBACb,KAAK;oBACL,SAAS;oBACT,SAAS;iBACV,CAAC,CACH,CAAC;gBACF,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC5B,IAAI,SAAS,KAAK,MAAM,CAAC,gBAAgB,EAAE;oBACzC,MAAM;iBACP;gBACD,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE;oBACxB,MAAM;iBACP;gBACD,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC;aACrC,QAAQ,SAAS,EAAE;YAEpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACrB,MAAM,MAAM,GAAqB;oBAC/B,OAAO,EAAE,EAAE,CAAC,OAAO;iBACpB,CAAC;gBACF,OAAO,IAAI,gBAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,EAAE,MAAM,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;;KACJ;IAEK,KAAK,CACT,MAA8B;;YAE9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAC3C,IAAI,0CAAiB,CAAC,MAAM,CAAC,CAC9B,CAAC;YAEF,IAAI,MAAM,GAAyB,oCAAW,CAAC,SAAS,CAAC;YACzD,IAAI,OAAqC,CAAC;YAC1C,OAAO,MAAM,KAAK,oCAAW,CAAC,OAAO,IAAI,MAAM,KAAK,oCAAW,CAAC,SAAS,EAAE;gBACzE,MAAM,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC;gBAClB,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACjC,IAAI,+CAAsB,CAAC;oBACzB,OAAO;iBACR,CAAC,CACH,CAAC;gBACF,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAExB,IACE,MAAM,KAAK,oCAAW,CAAC,QAAQ;oBAC/B,MAAM,KAAK,oCAAW,CAAC,SAAS;oBAChC,MAAM,KAAK,oCAAW,CAAC,MAAM,EAC7B;oBACA,MAAM;iBACP;aACF;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;KAAA;IAEK,IAAI,CACR,MAGC;;YAED,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;YAE9D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC3C,YAAY,EAAE,MAAM;gBACpB,WAAW,EAAE,OAAO;gBACpB,SAAS;gBACT,OAAO;gBACP,KAAK;aACN,CAAC,CAAC;YAEH,IAAI,MAAM,KAAK,oCAAW,CAAC,SAAS,EAAE;gBACpC,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;aAChD;YACD,IAAI,MAAM,KAAK,oCAAW,CAAC,MAAM,EAAE;gBACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;aAC7C;YAED,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,OAAO,8BAAmB,CAAC,WAAW,EAAE,CAAC;aAC1C;YAED,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;iBACpB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC;iBAC7D,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,iBAAM,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YAE7D,MAAM,GAAG,GAAwB,IAAI,8BAAmB,CAAC,IAAI,CAAC,CAAC;YAC/D,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC5B,MAAM,MAAM,GAAG,EAAE,CAAC;gBAClB,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;oBACvB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACb,CAAC;KAAA;IAEK,oBAAoB;;YACxB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBAChB,OAAO,IAAI,CAAC;aACb;YACD,MAAM,UAAU,GAAG,IAAI,qBAAU,CAAC,YAAY,CAAC,CAAC;YAEhD,IAAI;gBACF,IAAI,SAAS,GAAuB,SAAS,CAAC;gBAE9C,GAAG;oBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,IAAI,iDAAwB,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CACvD,CAAC;oBACF,IAAI,MAAM,CAAC,SAAS,EAAE;wBACpB,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE;4BAEvC,MAAM,OAAO,GAAG,IAAI,qBAAU,CAC5B,QAAQ,CAAC,YAAY,EACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC/B,QAAQ,CAAC,WAAW,CACrB,CAAC;4BACF,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;yBAC9B;qBACF;oBACD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;iBAC9B,QAAQ,SAAS,EAAE;gBACpB,UAAU,CAAC,OAAO,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,MAAM,SAAS,CAAC;aAClE;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAElB;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;KAAA;IAEK,aAAa,CAAC,EAClB,YAAY,GAGb;;YACC,IAAI,SAAS,GAAuB,SAAS,CAAC;YAE9C,MAAM,IAAI,GAAgB,EAAE,CAAC;YAC7B,GAAG;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,IAAI,kDAAyB,CAAC;oBAC5B,YAAY;oBACZ,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,eAAe;oBACxB,KAAK,EAAE,EAAE;oBACT,SAAS;iBACV,CAAC,CACH,CAAC;gBACF,IAAI,MAAM,CAAC,UAAU,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;iBACjC;gBACD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;aAC9B,QAAQ,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEK,UAAU;;YACd,IAAI,SAAS,GAAuB,SAAS,CAAC;YAE9C,MAAM,IAAI,GAAsB,EAAE,CAAC;YACnC,GAAG;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CACtC,IAAI,wDAA+B,CAAC;oBAClC,UAAU,EAAE,GAAG;oBACf,SAAS;iBACV,CAAC,CACH,CAAC;gBACF,IAAI,MAAM,CAAC,gBAAgB,EAAE;oBAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;iBACvC;gBACD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;aAC9B,QAAQ,SAAS,EAAE;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAEe,QAAQ;;YACtB,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;KAAA;CACF;AA3ND,gEA2NC"}
@@ -1,13 +1,14 @@
1
1
  import { PutObjectCommandInput, S3Client } from '@aws-sdk/client-s3';
2
- import { Scannable } from './BaseDriver';
3
- import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, S3KeyParams } from '../resource';
4
- import { ScanParams } from '../types';
5
- import { AwsBaseDriver, Destroyable } from './AwsBaseDriver';
6
- export declare class AwsS3Driver extends AwsBaseDriver implements Scannable {
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<string>;
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<Array<DbDatabase>>;
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 getClient(): Destroyable;
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.AwsS3Driver = void 0;
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("../resource");
7
- const types_1 = require("../types");
8
- const AwsBaseDriver_1 = require("./AwsBaseDriver");
9
- class AwsS3Driver extends AwsBaseDriver_1.AwsBaseDriver {
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.createClientConfig());
16
- if (this.conRes.dbType === types_1.DBType.Minio) {
17
- config.s3ForcePathStyle = 'true';
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
- try {
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 dbResources;
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
- getClient() {
188
- return this.s3Client;
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.AwsS3Driver = AwsS3Driver;
192
- //# sourceMappingURL=AwsS3Driver.js.map
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 { Scannable } from './BaseDriver';
3
- import { DbConnection, DbDatabase, DbKey, ResultSetDataHolder, SQSMessageParams } from '../resource';
4
- import { ScanParams } from '../types';
5
- import { AwsSQSAttributes } from '../types/AwsSQSAttributes';
6
- import { AwsBaseDriver, Destroyable } from './AwsBaseDriver';
7
- export declare class AwsSQSDriver extends AwsBaseDriver implements Scannable {
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<string>;
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<Array<DbDatabase>>;
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 getClient(): Destroyable;
31
+ protected closeSub(): Promise<void>;
31
32
  }