@cubejs-backend/redshift-driver 1.6.11 → 1.6.13
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/dist/src/RedshiftCredentialsProvider.d.ts +19 -0
- package/dist/src/RedshiftCredentialsProvider.d.ts.map +1 -0
- package/dist/src/RedshiftCredentialsProvider.js +21 -0
- package/dist/src/RedshiftCredentialsProvider.js.map +1 -0
- package/dist/src/RedshiftDriver.d.ts +4 -3
- package/dist/src/RedshiftDriver.d.ts.map +1 -1
- package/dist/src/RedshiftDriver.js +33 -12
- package/dist/src/RedshiftDriver.js.map +1 -1
- package/dist/src/RedshiftIAMCredentialsProvider.d.ts +33 -0
- package/dist/src/RedshiftIAMCredentialsProvider.d.ts.map +1 -0
- package/dist/src/RedshiftIAMCredentialsProvider.js +86 -0
- package/dist/src/RedshiftIAMCredentialsProvider.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/package.json +8 -6
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface RedshiftCredentialsProvider {
|
|
2
|
+
getCredentials(): Promise<{
|
|
3
|
+
user: string;
|
|
4
|
+
password: string;
|
|
5
|
+
}>;
|
|
6
|
+
getDbName(): string;
|
|
7
|
+
}
|
|
8
|
+
export declare class RedshiftPlainCredentialsProvider implements RedshiftCredentialsProvider {
|
|
9
|
+
private readonly user;
|
|
10
|
+
private readonly password;
|
|
11
|
+
private readonly dbName;
|
|
12
|
+
constructor(user: string, password: string, dbName: string);
|
|
13
|
+
getDbName(): string;
|
|
14
|
+
getCredentials(): Promise<{
|
|
15
|
+
user: string;
|
|
16
|
+
password: string;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=RedshiftCredentialsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedshiftCredentialsProvider.d.ts","sourceRoot":"","sources":["../../src/RedshiftCredentialsProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,cAAc,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9D,SAAS,IAAI,MAAM,CAAC;CACrB;AAED,qBAAa,gCAAiC,YAAW,2BAA2B;IAEhF,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM;IAG1B,SAAS,IAAI,MAAM;IAIb,cAAc;;;;CAG5B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedshiftPlainCredentialsProvider = void 0;
|
|
4
|
+
class RedshiftPlainCredentialsProvider {
|
|
5
|
+
user;
|
|
6
|
+
password;
|
|
7
|
+
dbName;
|
|
8
|
+
constructor(user, password, dbName) {
|
|
9
|
+
this.user = user;
|
|
10
|
+
this.password = password;
|
|
11
|
+
this.dbName = dbName;
|
|
12
|
+
}
|
|
13
|
+
getDbName() {
|
|
14
|
+
return this.dbName;
|
|
15
|
+
}
|
|
16
|
+
async getCredentials() {
|
|
17
|
+
return { user: this.user, password: this.password };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.RedshiftPlainCredentialsProvider = RedshiftPlainCredentialsProvider;
|
|
21
|
+
//# sourceMappingURL=RedshiftCredentialsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedshiftCredentialsProvider.js","sourceRoot":"","sources":["../../src/RedshiftCredentialsProvider.ts"],"names":[],"mappings":";;;AAMA,MAAa,gCAAgC;IAExB;IACA;IACA;IAHnB,YACmB,IAAY,EACZ,QAAgB,EAChB,MAAc;QAFd,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAQ;IAC9B,CAAC;IAEG,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtD,CAAC;CACF;AAdD,4EAcC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @license Apache-2.0
|
|
4
4
|
* @fileoverview The `RedshiftDriver` and related types declaration.
|
|
5
5
|
*/
|
|
6
|
-
import { PostgresDriver, PostgresDriverConfiguration } from '@cubejs-backend/postgres-driver';
|
|
6
|
+
import { PostgresDriver, PostgresDriverConfiguration, type PgQueryResult, PgClient, PgClientConfig } from '@cubejs-backend/postgres-driver';
|
|
7
7
|
import { DatabaseStructure, DownloadTableCSVData, DriverCapabilities, QueryColumnsResult, QuerySchemasResult, QueryTablesResult, StreamOptions, StreamTableDataWithTypes, TableColumn, TableStructure, UnloadOptions } from '@cubejs-backend/base-driver';
|
|
8
8
|
interface RedshiftDriverExportRequiredAWS {
|
|
9
9
|
bucketType: 's3';
|
|
@@ -26,7 +26,7 @@ export interface RedshiftDriverConfiguration extends PostgresDriverConfiguration
|
|
|
26
26
|
* Redshift driver class.
|
|
27
27
|
*/
|
|
28
28
|
export declare class RedshiftDriver extends PostgresDriver<RedshiftDriverConfiguration> {
|
|
29
|
-
private readonly
|
|
29
|
+
private readonly credentials;
|
|
30
30
|
/**
|
|
31
31
|
* Returns default concurrency value.
|
|
32
32
|
*/
|
|
@@ -49,6 +49,7 @@ export declare class RedshiftDriver extends PostgresDriver<RedshiftDriverConfigu
|
|
|
49
49
|
*/
|
|
50
50
|
testConnectionTimeout?: number;
|
|
51
51
|
});
|
|
52
|
+
protected createConnection(poolConfig: PgClientConfig): Promise<PgClient>;
|
|
52
53
|
protected primaryKeysQuery(): null;
|
|
53
54
|
protected foreignKeysQuery(): null;
|
|
54
55
|
/**
|
|
@@ -96,7 +97,7 @@ export declare class RedshiftDriver extends PostgresDriver<RedshiftDriverConfigu
|
|
|
96
97
|
*/
|
|
97
98
|
testConnection(): Promise<void>;
|
|
98
99
|
stream(query: string, values: unknown[], options: StreamOptions): Promise<StreamTableDataWithTypes>;
|
|
99
|
-
protected queryResponse(query: string, values: unknown[]): Promise<
|
|
100
|
+
protected queryResponse(query: string, values: unknown[]): Promise<PgQueryResult<any>>;
|
|
100
101
|
protected getExportBucket(dataSource: string): RedshiftDriverExportAWS | undefined;
|
|
101
102
|
loadUserDefinedTypes(): Promise<void>;
|
|
102
103
|
tableColumnTypes(table: string): Promise<TableStructure>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedshiftDriver.d.ts","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"RedshiftDriver.d.ts","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,12 +12,14 @@ exports.RedshiftDriver = void 0;
|
|
|
12
12
|
const shared_1 = require("@cubejs-backend/shared");
|
|
13
13
|
const postgres_driver_1 = require("@cubejs-backend/postgres-driver");
|
|
14
14
|
const crypto_1 = __importDefault(require("crypto"));
|
|
15
|
+
const RedshiftCredentialsProvider_1 = require("./RedshiftCredentialsProvider");
|
|
16
|
+
const RedshiftIAMCredentialsProvider_1 = require("./RedshiftIAMCredentialsProvider");
|
|
15
17
|
const IGNORED_SCHEMAS = ['pg_catalog', 'pg_internal', 'information_schema', 'mysql', 'performance_schema', 'sys', 'INFORMATION_SCHEMA'];
|
|
16
18
|
/**
|
|
17
19
|
* Redshift driver class.
|
|
18
20
|
*/
|
|
19
21
|
class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
20
|
-
|
|
22
|
+
credentials;
|
|
21
23
|
/**
|
|
22
24
|
* Returns default concurrency value.
|
|
23
25
|
*/
|
|
@@ -28,12 +30,31 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
28
30
|
* Class constructor.
|
|
29
31
|
*/
|
|
30
32
|
constructor(config = {}) {
|
|
31
|
-
super(config);
|
|
32
33
|
const dataSource = config.dataSource ||
|
|
33
34
|
(0, shared_1.assertDataSource)('default');
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
const clusterIdentifier = (0, shared_1.getEnv)('redshiftClusterIdentifier', { dataSource });
|
|
36
|
+
const dbPass = (0, shared_1.getEnv)('dbPass', { dataSource });
|
|
37
|
+
const dbUser = (0, shared_1.getEnv)('dbUser', { dataSource });
|
|
38
|
+
const dbName = (0, shared_1.getEnv)('dbName', { dataSource });
|
|
39
|
+
let credentialsProvider;
|
|
40
|
+
if (clusterIdentifier && !dbPass && !config.password) {
|
|
41
|
+
credentialsProvider = new RedshiftIAMCredentialsProvider_1.RedshiftIAMCredentialsProvider({
|
|
42
|
+
region: (0, shared_1.getEnv)('redshiftAwsRegion', { dataSource }),
|
|
43
|
+
assumeRoleArn: (0, shared_1.getEnv)('redshiftAssumeRoleArn', { dataSource }),
|
|
44
|
+
assumeRoleExternalId: (0, shared_1.getEnv)('redshiftAssumeRoleExternalId', { dataSource }),
|
|
45
|
+
clusterIdentifier,
|
|
46
|
+
dbName,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
credentialsProvider = new RedshiftCredentialsProvider_1.RedshiftPlainCredentialsProvider(config.user || dbUser, config.password || dbPass, dbName);
|
|
51
|
+
}
|
|
52
|
+
super(config);
|
|
53
|
+
this.credentials = credentialsProvider;
|
|
54
|
+
}
|
|
55
|
+
async createConnection(poolConfig) {
|
|
56
|
+
const { user, password } = await this.credentials.getCredentials();
|
|
57
|
+
return super.createConnection({ ...poolConfig, user, password });
|
|
37
58
|
}
|
|
38
59
|
primaryKeysQuery() {
|
|
39
60
|
return null;
|
|
@@ -96,10 +117,10 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
96
117
|
}
|
|
97
118
|
// eslint-disable-next-line camelcase
|
|
98
119
|
async tablesForExternalSchema(schemaName) {
|
|
99
|
-
return this.query(`SHOW TABLES FROM SCHEMA ${this.
|
|
120
|
+
return this.query(`SHOW TABLES FROM SCHEMA ${this.credentials.getDbName()}.${schemaName}`, []);
|
|
100
121
|
}
|
|
101
122
|
async columnsForExternalTable(schemaName, tableName) {
|
|
102
|
-
return this.query(`SHOW COLUMNS FROM TABLE ${this.
|
|
123
|
+
return this.query(`SHOW COLUMNS FROM TABLE ${this.credentials.getDbName()}.${schemaName}.${tableName}`, []);
|
|
103
124
|
}
|
|
104
125
|
/**
|
|
105
126
|
* @override
|
|
@@ -119,7 +140,7 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
119
140
|
* @override
|
|
120
141
|
*/
|
|
121
142
|
async getSchemas() {
|
|
122
|
-
const schemas = await this.query(`SHOW SCHEMAS FROM DATABASE ${this.
|
|
143
|
+
const schemas = await this.query(`SHOW SCHEMAS FROM DATABASE ${this.credentials.getDbName()}`, []);
|
|
123
144
|
return schemas
|
|
124
145
|
.filter(s => !IGNORED_SCHEMAS.includes(s.schema_name))
|
|
125
146
|
.map(s => ({ schema_name: s.schema_name }));
|
|
@@ -193,8 +214,8 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
193
214
|
* @override
|
|
194
215
|
*/
|
|
195
216
|
async testConnection() {
|
|
196
|
-
const conn = await this.pool.
|
|
197
|
-
|
|
217
|
+
const conn = await this.pool.acquire();
|
|
218
|
+
await this.pool.release(conn);
|
|
198
219
|
}
|
|
199
220
|
async stream(query, values, options) {
|
|
200
221
|
RedshiftDriver.checkValuesLimit(values);
|
|
@@ -269,7 +290,7 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
269
290
|
const types = await this.tableColumnTypes(tableName);
|
|
270
291
|
const columns = types.map(t => t.name).join(', ');
|
|
271
292
|
const { bucketType, bucketName, region, unloadArn, keyId, secretKey } = this.config.exportBucket;
|
|
272
|
-
const conn = await this.pool.
|
|
293
|
+
const conn = await this.pool.acquire();
|
|
273
294
|
try {
|
|
274
295
|
const exportPathName = crypto_1.default.randomBytes(10).toString('hex');
|
|
275
296
|
const optionsToExport = {
|
|
@@ -341,7 +362,7 @@ class RedshiftDriver extends postgres_driver_1.PostgresDriver {
|
|
|
341
362
|
}
|
|
342
363
|
finally {
|
|
343
364
|
conn.removeAllListeners('notice');
|
|
344
|
-
|
|
365
|
+
await this.pool.release(conn);
|
|
345
366
|
}
|
|
346
367
|
}
|
|
347
368
|
capabilities() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedshiftDriver.js","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RedshiftDriver.js","sourceRoot":"","sources":["../../src/RedshiftDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { fromTemporaryCredentials } from '@aws-sdk/credential-providers';
|
|
2
|
+
import { RedshiftCredentialsProvider } from './RedshiftCredentialsProvider';
|
|
3
|
+
export interface RedshiftIAMCredentialProviderOptions {
|
|
4
|
+
region?: string;
|
|
5
|
+
assumeRoleArn?: string;
|
|
6
|
+
assumeRoleExternalId?: string;
|
|
7
|
+
clusterIdentifier: string;
|
|
8
|
+
dbName?: string;
|
|
9
|
+
}
|
|
10
|
+
interface CachedCredentials {
|
|
11
|
+
user: string;
|
|
12
|
+
password: string;
|
|
13
|
+
expiration: Date;
|
|
14
|
+
}
|
|
15
|
+
export declare class RedshiftIAMCredentialsProvider implements RedshiftCredentialsProvider {
|
|
16
|
+
protected readonly region: string;
|
|
17
|
+
protected readonly clusterIdentifier: string;
|
|
18
|
+
protected readonly dbName: string;
|
|
19
|
+
protected readonly awsCredentials?: ReturnType<typeof fromTemporaryCredentials>;
|
|
20
|
+
protected cached: CachedCredentials | null;
|
|
21
|
+
protected inflightRefresh: Promise<CachedCredentials> | null;
|
|
22
|
+
constructor(options: RedshiftIAMCredentialProviderOptions);
|
|
23
|
+
getDbName(): string;
|
|
24
|
+
getCredentials(): Promise<{
|
|
25
|
+
user: string;
|
|
26
|
+
password: string;
|
|
27
|
+
}>;
|
|
28
|
+
protected isExpired(): boolean;
|
|
29
|
+
protected resolveCredentials(): Promise<CachedCredentials>;
|
|
30
|
+
protected refreshCredentials(): Promise<CachedCredentials>;
|
|
31
|
+
}
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=RedshiftIAMCredentialsProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedshiftIAMCredentialsProvider.d.ts","sourceRoot":"","sources":["../../src/RedshiftIAMCredentialsProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,MAAM,WAAW,oCAAoC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,IAAI,CAAC;CAClB;AAKD,qBAAa,8BAA+B,YAAW,2BAA2B;IAChF,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IAE7C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAEhF,SAAS,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAElD,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAQ;gBAEjD,OAAO,EAAE,oCAAoC;IA+BzD,SAAS,IAAI,MAAM;IAIb,cAAc,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAI1E,SAAS,CAAC,SAAS,IAAI,OAAO;cAQd,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC;cAiBhD,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,CAAC;CA2BjE"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedshiftIAMCredentialsProvider = void 0;
|
|
4
|
+
const client_redshift_1 = require("@aws-sdk/client-redshift");
|
|
5
|
+
const credential_providers_1 = require("@aws-sdk/credential-providers");
|
|
6
|
+
// Refresh 1m before expiry
|
|
7
|
+
const REFRESH_BUFFER_MS = 60 * 1000;
|
|
8
|
+
class RedshiftIAMCredentialsProvider {
|
|
9
|
+
region;
|
|
10
|
+
clusterIdentifier;
|
|
11
|
+
dbName;
|
|
12
|
+
awsCredentials;
|
|
13
|
+
cached = null;
|
|
14
|
+
inflightRefresh = null;
|
|
15
|
+
constructor(options) {
|
|
16
|
+
if (!options.region) {
|
|
17
|
+
throw new Error('CUBEJS_DB_REDSHIFT_AWS_REGION is required for IAM authentication');
|
|
18
|
+
}
|
|
19
|
+
if (!options.clusterIdentifier) {
|
|
20
|
+
throw new Error('CUBEJS_DB_REDSHIFT_CLUSTER_IDENTIFIER is required for IAM authentication');
|
|
21
|
+
}
|
|
22
|
+
if (!options.dbName) {
|
|
23
|
+
throw new Error('CUBEJS_DB_NAME is required for IAM authentication');
|
|
24
|
+
}
|
|
25
|
+
this.region = options.region;
|
|
26
|
+
this.clusterIdentifier = options.clusterIdentifier;
|
|
27
|
+
this.dbName = options.dbName;
|
|
28
|
+
if (options.assumeRoleArn) {
|
|
29
|
+
this.awsCredentials = (0, credential_providers_1.fromTemporaryCredentials)({
|
|
30
|
+
params: {
|
|
31
|
+
RoleArn: options.assumeRoleArn,
|
|
32
|
+
...(options.assumeRoleExternalId && { ExternalId: options.assumeRoleExternalId }),
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
getDbName() {
|
|
38
|
+
return this.dbName;
|
|
39
|
+
}
|
|
40
|
+
async getCredentials() {
|
|
41
|
+
return this.resolveCredentials();
|
|
42
|
+
}
|
|
43
|
+
isExpired() {
|
|
44
|
+
if (!this.cached) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
return (this.cached.expiration.getTime() - Date.now()) < REFRESH_BUFFER_MS;
|
|
48
|
+
}
|
|
49
|
+
async resolveCredentials() {
|
|
50
|
+
if (this.cached && !this.isExpired()) {
|
|
51
|
+
return this.cached;
|
|
52
|
+
}
|
|
53
|
+
// Concurrency guard
|
|
54
|
+
if (this.inflightRefresh) {
|
|
55
|
+
return this.inflightRefresh;
|
|
56
|
+
}
|
|
57
|
+
this.inflightRefresh = this.refreshCredentials().finally(() => {
|
|
58
|
+
this.inflightRefresh = null;
|
|
59
|
+
});
|
|
60
|
+
return this.inflightRefresh;
|
|
61
|
+
}
|
|
62
|
+
async refreshCredentials() {
|
|
63
|
+
const client = new client_redshift_1.RedshiftClient({
|
|
64
|
+
region: this.region,
|
|
65
|
+
...(this.awsCredentials && { credentials: this.awsCredentials }),
|
|
66
|
+
});
|
|
67
|
+
const command = new client_redshift_1.GetClusterCredentialsWithIAMCommand({
|
|
68
|
+
ClusterIdentifier: this.clusterIdentifier,
|
|
69
|
+
DbName: this.dbName,
|
|
70
|
+
// By default, it's 15m, 1h is a maximum time
|
|
71
|
+
DurationSeconds: 1800
|
|
72
|
+
});
|
|
73
|
+
const response = await client.send(command);
|
|
74
|
+
if (!response.DbUser || !response.DbPassword || !response.Expiration) {
|
|
75
|
+
throw new Error('GetClusterCredentialsWithIAM returned incomplete response');
|
|
76
|
+
}
|
|
77
|
+
this.cached = {
|
|
78
|
+
user: response.DbUser,
|
|
79
|
+
password: response.DbPassword,
|
|
80
|
+
expiration: response.Expiration,
|
|
81
|
+
};
|
|
82
|
+
return this.cached;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.RedshiftIAMCredentialsProvider = RedshiftIAMCredentialsProvider;
|
|
86
|
+
//# sourceMappingURL=RedshiftIAMCredentialsProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RedshiftIAMCredentialsProvider.js","sourceRoot":"","sources":["../../src/RedshiftIAMCredentialsProvider.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AAEjD,eAAe,cAAc,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -16,5 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
const RedshiftDriver_1 = require("./RedshiftDriver");
|
|
18
18
|
__exportStar(require("./RedshiftDriver"), exports);
|
|
19
|
+
__exportStar(require("./RedshiftCredentialsProvider"), exports);
|
|
20
|
+
__exportStar(require("./RedshiftIAMCredentialsProvider"), exports);
|
|
19
21
|
exports.default = RedshiftDriver_1.RedshiftDriver;
|
|
20
22
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkD;AAElD,mDAAiC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAkD;AAElD,mDAAiC;AACjC,gEAA8C;AAC9C,mEAAiD;AAEjD,kBAAe,+BAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cubejs-backend/redshift-driver",
|
|
3
3
|
"description": "Cube.js Redshift database driver",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
|
-
"version": "1.6.
|
|
5
|
+
"version": "1.6.13",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.git",
|
|
@@ -25,13 +25,15 @@
|
|
|
25
25
|
"lint:fix": "eslint --fix src/* --ext .ts"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@
|
|
29
|
-
"@
|
|
30
|
-
"@cubejs-backend/
|
|
28
|
+
"@aws-sdk/client-redshift": "^3.22.0",
|
|
29
|
+
"@aws-sdk/credential-providers": "^3.22.0",
|
|
30
|
+
"@cubejs-backend/base-driver": "1.6.13",
|
|
31
|
+
"@cubejs-backend/postgres-driver": "1.6.13",
|
|
32
|
+
"@cubejs-backend/shared": "1.6.13"
|
|
31
33
|
},
|
|
32
34
|
"license": "Apache-2.0",
|
|
33
35
|
"devDependencies": {
|
|
34
|
-
"@cubejs-backend/linter": "1.6.
|
|
36
|
+
"@cubejs-backend/linter": "1.6.13",
|
|
35
37
|
"typescript": "~5.2.2"
|
|
36
38
|
},
|
|
37
39
|
"publishConfig": {
|
|
@@ -43,5 +45,5 @@
|
|
|
43
45
|
"eslintConfig": {
|
|
44
46
|
"extends": "../cubejs-linter"
|
|
45
47
|
},
|
|
46
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "170a910b6607a8f8ceec787bda55abd897ce2f68"
|
|
47
49
|
}
|