@goldstack/utils-aws-cli 0.3.59 → 0.4.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/dist/src/utilsAwsCli.d.ts +14 -14
- package/dist/src/utilsAwsCli.js +59 -59
- package/package.json +6 -6
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { ExecParams } from '@goldstack/utils-sh';
|
|
2
|
-
import AWS from 'aws-sdk';
|
|
3
|
-
export declare const assertAwsCli: () => void;
|
|
4
|
-
interface AWSExecParams {
|
|
5
|
-
credentials: AWS.Credentials;
|
|
6
|
-
command: string;
|
|
7
|
-
region: string;
|
|
8
|
-
workDir?: string;
|
|
9
|
-
options?: ExecParams;
|
|
10
|
-
}
|
|
11
|
-
export declare const execWithDocker: (params: AWSExecParams) => Promise<string>;
|
|
12
|
-
export declare const execWithCli: (params: AWSExecParams) => Promise<string>;
|
|
13
|
-
export declare const awsCli: (params: AWSExecParams) => Promise<string>;
|
|
14
|
-
export {};
|
|
1
|
+
import { ExecParams } from '@goldstack/utils-sh';
|
|
2
|
+
import AWS from 'aws-sdk';
|
|
3
|
+
export declare const assertAwsCli: () => void;
|
|
4
|
+
interface AWSExecParams {
|
|
5
|
+
credentials: AWS.Credentials;
|
|
6
|
+
command: string;
|
|
7
|
+
region: string;
|
|
8
|
+
workDir?: string;
|
|
9
|
+
options?: ExecParams;
|
|
10
|
+
}
|
|
11
|
+
export declare const execWithDocker: (params: AWSExecParams) => Promise<string>;
|
|
12
|
+
export declare const execWithCli: (params: AWSExecParams) => Promise<string>;
|
|
13
|
+
export declare const awsCli: (params: AWSExecParams) => Promise<string>;
|
|
14
|
+
export {};
|
|
15
15
|
//# sourceMappingURL=utilsAwsCli.d.ts.map
|
package/dist/src/utilsAwsCli.js
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.awsCli = exports.execWithCli = exports.execWithDocker = exports.assertAwsCli = void 0;
|
|
4
|
-
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
5
|
-
const utils_log_1 = require("@goldstack/utils-log");
|
|
6
|
-
const utils_docker_1 = require("@goldstack/utils-docker");
|
|
7
|
-
const assertAwsCli = () => {
|
|
8
|
-
if (!(0, utils_sh_1.commandExists)('aws')) {
|
|
9
|
-
(0, utils_log_1.fatal)('AWS CLI version 2 not available.\n\nEnsure AWS cli or Docker (preferred) are available commands in the command line.');
|
|
10
|
-
throw new Error();
|
|
11
|
-
}
|
|
12
|
-
const version = (0, utils_sh_1.exec)('aws --version', { silent: true });
|
|
13
|
-
if (version.indexOf('aws-cli/2.') <= -1) {
|
|
14
|
-
(0, utils_log_1.fatal)(`Wrong AWS cli version installed. Expected version 2 but found version '${version}'` +
|
|
15
|
-
'\n\nEither install AWS cli or Docker (preferred).');
|
|
16
|
-
throw new Error();
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
exports.assertAwsCli = assertAwsCli;
|
|
20
|
-
const execWithDocker = async (params) => {
|
|
21
|
-
(0, utils_docker_1.assertDocker)();
|
|
22
|
-
const awsUserConfig = `-e AWS_ACCESS_KEY_ID=${params.credentials.accessKeyId} ` +
|
|
23
|
-
`-e AWS_SECRET_ACCESS_KEY=${params.credentials.secretAccessKey} ` +
|
|
24
|
-
`-e AWS_SESSION_TOKEN=${params.credentials.sessionToken || ''} ` +
|
|
25
|
-
`-e AWS_DEFAULT_REGION=${params.region} `;
|
|
26
|
-
const mountDir = params.workDir || (0, utils_sh_1.pwd)();
|
|
27
|
-
(0, utils_sh_1.assertDirectoryExists)(mountDir, 'Cannot execute AWS cli command since working directory does not exist: aws ' +
|
|
28
|
-
params.command);
|
|
29
|
-
return (0, utils_sh_1.execAsync)('docker run --rm ' +
|
|
30
|
-
awsUserConfig +
|
|
31
|
-
`-v "${mountDir}":/app ` +
|
|
32
|
-
'-w /app ' +
|
|
33
|
-
` ${(0, utils_docker_1.imageAWSCli)()} ${params.command}`, params.options);
|
|
34
|
-
};
|
|
35
|
-
exports.execWithDocker = execWithDocker;
|
|
36
|
-
const execWithCli = async (params) => {
|
|
37
|
-
(0, exports.assertAwsCli)();
|
|
38
|
-
process.env.AWS_ACCESS_KEY_ID = params.credentials.accessKeyId;
|
|
39
|
-
process.env.AWS_SECRET_ACCESS_KEY = params.credentials.secretAccessKey;
|
|
40
|
-
process.env.AWS_SESSION_TOKEN = params.credentials.sessionToken || '';
|
|
41
|
-
process.env.AWS_DEFAULT_REGION = params.region;
|
|
42
|
-
(0, utils_sh_1.assertDirectoryExists)(params.workDir || (0, utils_sh_1.pwd)(), 'Cannot execute command for AWS cli: aws ' + params.command);
|
|
43
|
-
const previousDir = (0, utils_sh_1.pwd)();
|
|
44
|
-
(0, utils_sh_1.cd)(params.workDir || (0, utils_sh_1.pwd)());
|
|
45
|
-
try {
|
|
46
|
-
return await (0, utils_sh_1.execAsync)(`aws ${params.command}`, params.options);
|
|
47
|
-
}
|
|
48
|
-
finally {
|
|
49
|
-
(0, utils_sh_1.cd)(previousDir);
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
exports.execWithCli = execWithCli;
|
|
53
|
-
const awsCli = async (params) => {
|
|
54
|
-
if ((0, utils_docker_1.hasDocker)()) {
|
|
55
|
-
return (0, exports.execWithDocker)(params);
|
|
56
|
-
}
|
|
57
|
-
return (0, exports.execWithCli)(params);
|
|
58
|
-
};
|
|
59
|
-
exports.awsCli = awsCli;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.awsCli = exports.execWithCli = exports.execWithDocker = exports.assertAwsCli = void 0;
|
|
4
|
+
const utils_sh_1 = require("@goldstack/utils-sh");
|
|
5
|
+
const utils_log_1 = require("@goldstack/utils-log");
|
|
6
|
+
const utils_docker_1 = require("@goldstack/utils-docker");
|
|
7
|
+
const assertAwsCli = () => {
|
|
8
|
+
if (!(0, utils_sh_1.commandExists)('aws')) {
|
|
9
|
+
(0, utils_log_1.fatal)('AWS CLI version 2 not available.\n\nEnsure AWS cli or Docker (preferred) are available commands in the command line.');
|
|
10
|
+
throw new Error();
|
|
11
|
+
}
|
|
12
|
+
const version = (0, utils_sh_1.exec)('aws --version', { silent: true });
|
|
13
|
+
if (version.indexOf('aws-cli/2.') <= -1) {
|
|
14
|
+
(0, utils_log_1.fatal)(`Wrong AWS cli version installed. Expected version 2 but found version '${version}'` +
|
|
15
|
+
'\n\nEither install AWS cli or Docker (preferred).');
|
|
16
|
+
throw new Error();
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
exports.assertAwsCli = assertAwsCli;
|
|
20
|
+
const execWithDocker = async (params) => {
|
|
21
|
+
(0, utils_docker_1.assertDocker)();
|
|
22
|
+
const awsUserConfig = `-e AWS_ACCESS_KEY_ID=${params.credentials.accessKeyId} ` +
|
|
23
|
+
`-e AWS_SECRET_ACCESS_KEY=${params.credentials.secretAccessKey} ` +
|
|
24
|
+
`-e AWS_SESSION_TOKEN=${params.credentials.sessionToken || ''} ` +
|
|
25
|
+
`-e AWS_DEFAULT_REGION=${params.region} `;
|
|
26
|
+
const mountDir = params.workDir || (0, utils_sh_1.pwd)();
|
|
27
|
+
(0, utils_sh_1.assertDirectoryExists)(mountDir, 'Cannot execute AWS cli command since working directory does not exist: aws ' +
|
|
28
|
+
params.command);
|
|
29
|
+
return (0, utils_sh_1.execAsync)('docker run --rm ' +
|
|
30
|
+
awsUserConfig +
|
|
31
|
+
`-v "${mountDir}":/app ` +
|
|
32
|
+
'-w /app ' +
|
|
33
|
+
` ${(0, utils_docker_1.imageAWSCli)()} ${params.command}`, params.options);
|
|
34
|
+
};
|
|
35
|
+
exports.execWithDocker = execWithDocker;
|
|
36
|
+
const execWithCli = async (params) => {
|
|
37
|
+
(0, exports.assertAwsCli)();
|
|
38
|
+
process.env.AWS_ACCESS_KEY_ID = params.credentials.accessKeyId;
|
|
39
|
+
process.env.AWS_SECRET_ACCESS_KEY = params.credentials.secretAccessKey;
|
|
40
|
+
process.env.AWS_SESSION_TOKEN = params.credentials.sessionToken || '';
|
|
41
|
+
process.env.AWS_DEFAULT_REGION = params.region;
|
|
42
|
+
(0, utils_sh_1.assertDirectoryExists)(params.workDir || (0, utils_sh_1.pwd)(), 'Cannot execute command for AWS cli: aws ' + params.command);
|
|
43
|
+
const previousDir = (0, utils_sh_1.pwd)();
|
|
44
|
+
(0, utils_sh_1.cd)(params.workDir || (0, utils_sh_1.pwd)());
|
|
45
|
+
try {
|
|
46
|
+
return await (0, utils_sh_1.execAsync)(`aws ${params.command}`, params.options);
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
(0, utils_sh_1.cd)(previousDir);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
exports.execWithCli = execWithCli;
|
|
53
|
+
const awsCli = async (params) => {
|
|
54
|
+
if ((0, utils_docker_1.hasDocker)()) {
|
|
55
|
+
return (0, exports.execWithDocker)(params);
|
|
56
|
+
}
|
|
57
|
+
return (0, exports.execWithCli)(params);
|
|
58
|
+
};
|
|
59
|
+
exports.awsCli = awsCli;
|
|
60
60
|
//# sourceMappingURL=utilsAwsCli.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goldstack/utils-aws-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Wrapper to help with running commands with the AWS cli",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"goldstack",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"version:apply:force": "yarn version $@ && yarn version apply"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@goldstack/infra-aws": "0.
|
|
44
|
-
"@goldstack/utils-docker": "0.
|
|
45
|
-
"@goldstack/utils-log": "0.
|
|
46
|
-
"@goldstack/utils-sh": "0.
|
|
43
|
+
"@goldstack/infra-aws": "0.4.0",
|
|
44
|
+
"@goldstack/utils-docker": "0.4.0",
|
|
45
|
+
"@goldstack/utils-log": "0.3.0",
|
|
46
|
+
"@goldstack/utils-sh": "0.5.0",
|
|
47
47
|
"aws-sdk": "2.1055.0"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@goldstack/utils-git": "0.
|
|
50
|
+
"@goldstack/utils-git": "0.2.0",
|
|
51
51
|
"@types/jest": "^28.1.8",
|
|
52
52
|
"@types/node": "^18.7.13",
|
|
53
53
|
"jest": "^28.1.0",
|