@webda/aws 4.0.0-beta.2 → 4.0.0-beta.4
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/README.md +64 -7
- package/lib/deployers/awsdeployer.d.ts +340 -0
- package/lib/deployers/awsdeployer.d.ts.map +1 -0
- package/lib/deployers/awsdeployer.js +673 -0
- package/lib/deployers/awsdeployer.js.map +1 -0
- package/lib/deployers/cloudformation.service.d.ts +438 -0
- package/lib/deployers/cloudformation.service.d.ts.map +1 -0
- package/lib/deployers/cloudformation.service.js +889 -0
- package/lib/deployers/cloudformation.service.js.map +1 -0
- package/lib/deployers/index.d.ts +4 -254
- package/lib/deployers/index.d.ts.map +1 -1
- package/lib/deployers/index.js +4 -542
- package/lib/deployers/index.js.map +1 -1
- package/lib/deployers/lambda-entrypoint.d.ts +33 -1
- package/lib/deployers/lambda-entrypoint.d.ts.map +1 -1
- package/lib/deployers/lambda-entrypoint.js +44 -10
- package/lib/deployers/lambda-entrypoint.js.map +1 -1
- package/lib/deployers/lambdapackager.service.d.ts +123 -0
- package/lib/deployers/lambdapackager.service.d.ts.map +1 -0
- package/lib/deployers/lambdapackager.service.js +149 -0
- package/lib/deployers/lambdapackager.service.js.map +1 -0
- package/lib/deployers/zip.d.ts +42 -0
- package/lib/deployers/zip.d.ts.map +1 -0
- package/lib/deployers/zip.js +129 -0
- package/lib/deployers/zip.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/services/aws-parameters.d.ts +33 -0
- package/lib/services/aws-parameters.d.ts.map +1 -0
- package/lib/services/aws-parameters.js +18 -0
- package/lib/services/aws-parameters.js.map +1 -0
- package/lib/services/awscommands.service.d.ts +39 -0
- package/lib/services/awscommands.service.d.ts.map +1 -0
- package/lib/services/awscommands.service.js +127 -0
- package/lib/services/awscommands.service.js.map +1 -0
- package/lib/services/cloudwatchlogger.service.d.ts +131 -0
- package/lib/services/cloudwatchlogger.service.d.ts.map +1 -0
- package/lib/services/{cloudwatchlogger.js → cloudwatchlogger.service.js} +60 -28
- package/lib/services/cloudwatchlogger.service.js.map +1 -0
- package/lib/services/contributors.d.ts +36 -0
- package/lib/services/contributors.d.ts.map +1 -0
- package/lib/services/contributors.js +2 -0
- package/lib/services/contributors.js.map +1 -0
- package/lib/services/dynamodb.service.d.ts +298 -0
- package/lib/services/dynamodb.service.d.ts.map +1 -0
- package/lib/services/dynamodb.service.js +986 -0
- package/lib/services/dynamodb.service.js.map +1 -0
- package/lib/services/index.d.ts +11 -31
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +11 -8
- package/lib/services/index.js.map +1 -1
- package/lib/services/lambdacaller.service.d.ts +81 -0
- package/lib/services/lambdacaller.service.d.ts.map +1 -0
- package/lib/services/lambdacaller.service.js +75 -0
- package/lib/services/lambdacaller.service.js.map +1 -0
- package/lib/services/lambdaserver.service.d.ts +127 -0
- package/lib/services/lambdaserver.service.d.ts.map +1 -0
- package/lib/services/lambdaserver.service.js +294 -0
- package/lib/services/lambdaserver.service.js.map +1 -0
- package/lib/services/{route53.d.ts → route53.service.d.ts} +21 -12
- package/lib/services/route53.service.d.ts.map +1 -0
- package/lib/services/{route53.js → route53.service.js} +25 -28
- package/lib/services/route53.service.js.map +1 -0
- package/lib/services/s3binary.service.d.ts +215 -0
- package/lib/services/s3binary.service.d.ts.map +1 -0
- package/lib/services/{s3binary.js → s3binary.service.js} +93 -55
- package/lib/services/s3binary.service.js.map +1 -0
- package/lib/services/secretsmanager.service.d.ts +102 -0
- package/lib/services/secretsmanager.service.d.ts.map +1 -0
- package/lib/services/{secretsmanager.js → secretsmanager.service.js} +40 -22
- package/lib/services/secretsmanager.service.js.map +1 -0
- package/lib/services/{sqsqueue.d.ts → sqsqueue.service.d.ts} +60 -35
- package/lib/services/sqsqueue.service.d.ts.map +1 -0
- package/lib/services/{sqsqueue.js → sqsqueue.service.js} +53 -28
- package/lib/services/sqsqueue.service.js.map +1 -0
- package/package.json +56 -64
- package/webda.module.json +1425 -264
- package/lib/deployers/cloudformation.d.ts +0 -317
- package/lib/deployers/cloudformation.d.ts.map +0 -1
- package/lib/deployers/cloudformation.js +0 -837
- package/lib/deployers/cloudformation.js.map +0 -1
- package/lib/deployers/cloudformation.spec.d.ts +0 -2
- package/lib/deployers/cloudformation.spec.d.ts.map +0 -1
- package/lib/deployers/cloudformation.spec.js +0 -530
- package/lib/deployers/cloudformation.spec.js.map +0 -1
- package/lib/deployers/index.spec.d.ts +0 -9
- package/lib/deployers/index.spec.d.ts.map +0 -1
- package/lib/deployers/index.spec.js +0 -595
- package/lib/deployers/index.spec.js.map +0 -1
- package/lib/deployers/lambdapackager.d.ts +0 -28
- package/lib/deployers/lambdapackager.d.ts.map +0 -1
- package/lib/deployers/lambdapackager.js +0 -26
- package/lib/deployers/lambdapackager.js.map +0 -1
- package/lib/deployers/lambdapackager.spec.d.ts +0 -2
- package/lib/deployers/lambdapackager.spec.d.ts.map +0 -1
- package/lib/deployers/lambdapackager.spec.js +0 -44
- package/lib/deployers/lambdapackager.spec.js.map +0 -1
- package/lib/index.spec.d.ts +0 -11
- package/lib/index.spec.d.ts.map +0 -1
- package/lib/index.spec.js +0 -42
- package/lib/index.spec.js.map +0 -1
- package/lib/services/aws-mixin.d.ts +0 -25
- package/lib/services/aws-mixin.d.ts.map +0 -1
- package/lib/services/aws-mixin.js +0 -18
- package/lib/services/aws-mixin.js.map +0 -1
- package/lib/services/cloudwatchlogger.d.ts +0 -82
- package/lib/services/cloudwatchlogger.d.ts.map +0 -1
- package/lib/services/cloudwatchlogger.js.map +0 -1
- package/lib/services/cloudwatchlogger.spec.d.ts +0 -2
- package/lib/services/cloudwatchlogger.spec.d.ts.map +0 -1
- package/lib/services/cloudwatchlogger.spec.js +0 -104
- package/lib/services/cloudwatchlogger.spec.js.map +0 -1
- package/lib/services/dynamodb.d.ts +0 -174
- package/lib/services/dynamodb.d.ts.map +0 -1
- package/lib/services/dynamodb.js +0 -711
- package/lib/services/dynamodb.js.map +0 -1
- package/lib/services/dynamodb.spec.d.ts +0 -24
- package/lib/services/dynamodb.spec.d.ts.map +0 -1
- package/lib/services/dynamodb.spec.js +0 -344
- package/lib/services/dynamodb.spec.js.map +0 -1
- package/lib/services/lambdacaller.d.ts +0 -69
- package/lib/services/lambdacaller.d.ts.map +0 -1
- package/lib/services/lambdacaller.js +0 -63
- package/lib/services/lambdacaller.js.map +0 -1
- package/lib/services/lambdacaller.spec.d.ts +0 -2
- package/lib/services/lambdacaller.spec.d.ts.map +0 -1
- package/lib/services/lambdacaller.spec.js +0 -70
- package/lib/services/lambdacaller.spec.js.map +0 -1
- package/lib/services/lambdaserver.d.ts +0 -87
- package/lib/services/lambdaserver.d.ts.map +0 -1
- package/lib/services/lambdaserver.js +0 -263
- package/lib/services/lambdaserver.js.map +0 -1
- package/lib/services/lambdaserver.spec.d.ts +0 -2
- package/lib/services/lambdaserver.spec.d.ts.map +0 -1
- package/lib/services/lambdaserver.spec.js +0 -417
- package/lib/services/lambdaserver.spec.js.map +0 -1
- package/lib/services/route53.d.ts.map +0 -1
- package/lib/services/route53.js.map +0 -1
- package/lib/services/route53.spec.d.ts +0 -2
- package/lib/services/route53.spec.d.ts.map +0 -1
- package/lib/services/route53.spec.js +0 -102
- package/lib/services/route53.spec.js.map +0 -1
- package/lib/services/s3binary.d.ts +0 -163
- package/lib/services/s3binary.d.ts.map +0 -1
- package/lib/services/s3binary.js.map +0 -1
- package/lib/services/s3binary.spec.d.ts +0 -2
- package/lib/services/s3binary.spec.d.ts.map +0 -1
- package/lib/services/s3binary.spec.js +0 -284
- package/lib/services/s3binary.spec.js.map +0 -1
- package/lib/services/secretsmanager.d.ts +0 -81
- package/lib/services/secretsmanager.d.ts.map +0 -1
- package/lib/services/secretsmanager.js.map +0 -1
- package/lib/services/secretsmanager.spec.d.ts +0 -2
- package/lib/services/secretsmanager.spec.d.ts.map +0 -1
- package/lib/services/secretsmanager.spec.js +0 -66
- package/lib/services/secretsmanager.spec.js.map +0 -1
- package/lib/services/sqsqueue.d.ts.map +0 -1
- package/lib/services/sqsqueue.js.map +0 -1
- package/lib/services/sqsqueue.spec.d.ts +0 -2
- package/lib/services/sqsqueue.spec.d.ts.map +0 -1
- package/lib/services/sqsqueue.spec.js +0 -157
- package/lib/services/sqsqueue.spec.js.map +0 -1
- package/lib/shell.d.ts +0 -13
- package/lib/shell.d.ts.map +0 -1
- package/lib/shell.js +0 -42
- package/lib/shell.js.map +0 -1
- package/webda.shell.json +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lambda-entrypoint.js","sourceRoot":"","sources":["../../src/deployers/lambda-entrypoint.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"lambda-entrypoint.js","sourceRoot":"","sources":["../../src/deployers/lambda-entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,IAAI,EAAmB,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE7G,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAgBnE;;GAEG;AACH,IAAI,MAA8C,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAO,GAAW,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE;IAElE,OAAO,sBAAsB,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,kBAAkB,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC;QACvC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,YAAY,YAAY,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,KAAK,cAAc,CAAC,CAAiB,CAAC;QAC3F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAAU,EAAE,OAAsB;IAC9D,MAAM,KAAN,MAAM,GAAK,gBAAgB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACxC,6CAA6C;QAC7C,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,EAAC;IACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC;IAC1C,OAAO,sBAAsB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Application, Deployer, PackageOptions, Service, ServiceParameters } from "@webda/core";
|
|
2
|
+
/**
|
|
3
|
+
* Type of the service handling the Lambda invocations in the package
|
|
4
|
+
*/
|
|
5
|
+
export declare const LAMBDA_SERVER_TYPE = "Webda/LambdaServer";
|
|
6
|
+
/**
|
|
7
|
+
* Options to build a Lambda package
|
|
8
|
+
*/
|
|
9
|
+
export interface LambdaPackageOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Path of the zip to create
|
|
12
|
+
*
|
|
13
|
+
* @default "dist/lambda.zip"
|
|
14
|
+
*/
|
|
15
|
+
zipPath?: string;
|
|
16
|
+
/**
|
|
17
|
+
* File to add as `entrypoint.js` at the root of the package
|
|
18
|
+
*
|
|
19
|
+
* The default handler is `node_modules/@webda/aws/lib/deployers/lambda-entrypoint.handler`
|
|
20
|
+
* so it is not needed
|
|
21
|
+
*/
|
|
22
|
+
entrypoint?: string;
|
|
23
|
+
/**
|
|
24
|
+
* The application includes its own aws-sdk v2: by default `aws-sdk` is excluded
|
|
25
|
+
*
|
|
26
|
+
* @default false
|
|
27
|
+
*/
|
|
28
|
+
customAwsSdk?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* How to select the files of the application
|
|
31
|
+
*/
|
|
32
|
+
package?: PackageOptions;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Result of a Lambda package
|
|
36
|
+
*/
|
|
37
|
+
export interface LambdaPackageResult {
|
|
38
|
+
/**
|
|
39
|
+
* Path of the zip
|
|
40
|
+
*/
|
|
41
|
+
zipPath: string;
|
|
42
|
+
/**
|
|
43
|
+
* Number of files in the zip
|
|
44
|
+
*/
|
|
45
|
+
files: number;
|
|
46
|
+
/**
|
|
47
|
+
* Size of the zip in bytes
|
|
48
|
+
*/
|
|
49
|
+
size: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Default handler of the Lambda function
|
|
53
|
+
*/
|
|
54
|
+
export declare const LAMBDA_DEFAULT_HANDLER = "node_modules/@webda/aws/lib/deployers/lambda-entrypoint.handler";
|
|
55
|
+
/**
|
|
56
|
+
* Create the Lambda zip of the application
|
|
57
|
+
*
|
|
58
|
+
* The package contains the application files, its production dependencies and the
|
|
59
|
+
* configuration of the current deployment. A `LambdaServer` service is added to the
|
|
60
|
+
* configuration if none is defined, as the default handler relies on it.
|
|
61
|
+
*
|
|
62
|
+
* @param app - the application
|
|
63
|
+
* @param options - the package options
|
|
64
|
+
* @returns the zip information
|
|
65
|
+
*/
|
|
66
|
+
export declare function createLambdaPackage(app: Application, options?: LambdaPackageOptions): Promise<LambdaPackageResult>;
|
|
67
|
+
/**
|
|
68
|
+
* Lambda Packager parameters
|
|
69
|
+
*/
|
|
70
|
+
export declare class LambdaPackagerParameters extends ServiceParameters implements LambdaPackageOptions {
|
|
71
|
+
/**
|
|
72
|
+
* Name of the unit
|
|
73
|
+
*/
|
|
74
|
+
name?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Path of the zip to create
|
|
77
|
+
*
|
|
78
|
+
* @default "dist/lambda-${package.version}.zip"
|
|
79
|
+
*/
|
|
80
|
+
zipPath?: string;
|
|
81
|
+
/**
|
|
82
|
+
* File to add as `entrypoint.js` at the root of the package
|
|
83
|
+
*/
|
|
84
|
+
entrypoint?: string;
|
|
85
|
+
/**
|
|
86
|
+
* The application includes its own aws-sdk v2
|
|
87
|
+
*
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
customAwsSdk?: boolean;
|
|
91
|
+
/**
|
|
92
|
+
* How to select the files of the application
|
|
93
|
+
*/
|
|
94
|
+
package?: PackageOptions;
|
|
95
|
+
/**
|
|
96
|
+
* @override
|
|
97
|
+
* @param params - raw parameters
|
|
98
|
+
* @returns this
|
|
99
|
+
*/
|
|
100
|
+
load(params?: any): this;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Package the application as an AWS Lambda zip
|
|
104
|
+
*
|
|
105
|
+
* Declared as a unit of a deployment, `webda -d <deployment> aws package` creates the zip
|
|
106
|
+
* with the configuration of the deployment.
|
|
107
|
+
*
|
|
108
|
+
* @WebdaModda
|
|
109
|
+
*/
|
|
110
|
+
export declare class LambdaPackager<T extends LambdaPackagerParameters = LambdaPackagerParameters> extends Service<T> implements Deployer {
|
|
111
|
+
/**
|
|
112
|
+
* Application to package
|
|
113
|
+
* @returns the current application
|
|
114
|
+
*/
|
|
115
|
+
protected getApplication(): Application;
|
|
116
|
+
/**
|
|
117
|
+
* Create the Lambda zip
|
|
118
|
+
*
|
|
119
|
+
* @returns the zip information
|
|
120
|
+
*/
|
|
121
|
+
package(): Promise<LambdaPackageResult>;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=lambdapackager.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambdapackager.service.d.ts","sourceRoot":"","sources":["../../src/deployers/lambdapackager.service.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,QAAQ,EAIR,cAAc,EAEd,OAAO,EACP,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAKrB;;GAEG;AACH,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oEAAoE,CAAC;AAExG;;;;;;;;;;GAUG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,WAAW,EAChB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA6B9B;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,iBAAkB,YAAW,oBAAoB;IAC7F;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,GAAQ,GAAG,IAAI,CAI3B;CACF;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,wBAAwB,GAAG,wBAAwB,CACvF,SAAQ,OAAO,CAAC,CAAC,CACjB,YAAW,QAAQ;IAEnB;;;OAGG;IACH,SAAS,CAAC,cAAc,IAAI,WAAW,CAEtC;IAED;;;;OAIG;IAKG,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAM5C;CACF"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
2
|
+
var useValue = arguments.length > 2;
|
|
3
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
4
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
5
|
+
}
|
|
6
|
+
return useValue ? value : void 0;
|
|
7
|
+
};
|
|
8
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
9
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
10
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
11
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
12
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
13
|
+
var _, done = false;
|
|
14
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
15
|
+
var context = {};
|
|
16
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
17
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
18
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
19
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
20
|
+
if (kind === "accessor") {
|
|
21
|
+
if (result === void 0) continue;
|
|
22
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
23
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
24
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
25
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
26
|
+
}
|
|
27
|
+
else if (_ = accept(result)) {
|
|
28
|
+
if (kind === "field") initializers.unshift(_);
|
|
29
|
+
else descriptor[key] = _;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
33
|
+
done = true;
|
|
34
|
+
};
|
|
35
|
+
import { Command, getDeploymentVariables, PACKAGED_CONFIGURATION, packageApplication, resolveDeploymentVariables, Service, ServiceParameters, useApplication } from "@webda/core";
|
|
36
|
+
import { statSync } from "node:fs";
|
|
37
|
+
import * as path from "node:path";
|
|
38
|
+
import { writeZip } from "./zip.js";
|
|
39
|
+
/**
|
|
40
|
+
* Type of the service handling the Lambda invocations in the package
|
|
41
|
+
*/
|
|
42
|
+
export const LAMBDA_SERVER_TYPE = "Webda/LambdaServer";
|
|
43
|
+
/**
|
|
44
|
+
* Default handler of the Lambda function
|
|
45
|
+
*/
|
|
46
|
+
export const LAMBDA_DEFAULT_HANDLER = "node_modules/@webda/aws/lib/deployers/lambda-entrypoint.handler";
|
|
47
|
+
/**
|
|
48
|
+
* Create the Lambda zip of the application
|
|
49
|
+
*
|
|
50
|
+
* The package contains the application files, its production dependencies and the
|
|
51
|
+
* configuration of the current deployment. A `LambdaServer` service is added to the
|
|
52
|
+
* configuration if none is defined, as the default handler relies on it.
|
|
53
|
+
*
|
|
54
|
+
* @param app - the application
|
|
55
|
+
* @param options - the package options
|
|
56
|
+
* @returns the zip information
|
|
57
|
+
*/
|
|
58
|
+
export async function createLambdaPackage(app, options = {}) {
|
|
59
|
+
const zipPath = path.resolve(app.applicationPath, options.zipPath ?? "dist/lambda.zip");
|
|
60
|
+
const packageOptions = {
|
|
61
|
+
...options.package,
|
|
62
|
+
// Do not package a previous package
|
|
63
|
+
ignores: [...(options.package?.ignores ?? []), path.relative(app.applicationPath, zipPath).split(path.sep)[0]],
|
|
64
|
+
modules: {
|
|
65
|
+
includes: options.package?.modules?.includes ?? [],
|
|
66
|
+
excludes: [...(options.package?.modules?.excludes ?? []), ...(options.customAwsSdk ? [] : ["aws-sdk"])]
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const { files, configuration } = await packageApplication(app, packageOptions);
|
|
70
|
+
configuration.services ?? (configuration.services = {});
|
|
71
|
+
const hasLambdaServer = Object.values(configuration.services).some(service => service?.type === LAMBDA_SERVER_TYPE || service?.type === "LambdaServer");
|
|
72
|
+
if (!hasLambdaServer) {
|
|
73
|
+
configuration.services["LambdaServer"] = { type: LAMBDA_SERVER_TYPE };
|
|
74
|
+
}
|
|
75
|
+
const entries = files.map(file => file.target === PACKAGED_CONFIGURATION
|
|
76
|
+
? { target: file.target, content: JSON.stringify(configuration, undefined, 2) }
|
|
77
|
+
: { target: file.target, source: file.source, content: file.content, mode: file.mode });
|
|
78
|
+
if (options.entrypoint) {
|
|
79
|
+
entries.push({ target: "entrypoint.js", source: path.resolve(app.applicationPath, options.entrypoint) });
|
|
80
|
+
}
|
|
81
|
+
writeZip(zipPath, entries);
|
|
82
|
+
return { zipPath, files: entries.length, size: statSync(zipPath).size };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Lambda Packager parameters
|
|
86
|
+
*/
|
|
87
|
+
export class LambdaPackagerParameters extends ServiceParameters {
|
|
88
|
+
/**
|
|
89
|
+
* @override
|
|
90
|
+
* @param params - raw parameters
|
|
91
|
+
* @returns this
|
|
92
|
+
*/
|
|
93
|
+
load(params = {}) {
|
|
94
|
+
super.load(params);
|
|
95
|
+
this.zipPath ?? (this.zipPath = "dist/lambda-${package.version}.zip");
|
|
96
|
+
return this;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Package the application as an AWS Lambda zip
|
|
101
|
+
*
|
|
102
|
+
* Declared as a unit of a deployment, `webda -d <deployment> aws package` creates the zip
|
|
103
|
+
* with the configuration of the deployment.
|
|
104
|
+
*
|
|
105
|
+
* @WebdaModda
|
|
106
|
+
*/
|
|
107
|
+
let LambdaPackager = (() => {
|
|
108
|
+
var _a;
|
|
109
|
+
let _classSuper = Service;
|
|
110
|
+
let _instanceExtraInitializers = [];
|
|
111
|
+
let _package_decorators;
|
|
112
|
+
return _a = class LambdaPackager extends _classSuper {
|
|
113
|
+
/**
|
|
114
|
+
* Application to package
|
|
115
|
+
* @returns the current application
|
|
116
|
+
*/
|
|
117
|
+
getApplication() {
|
|
118
|
+
return useApplication();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Create the Lambda zip
|
|
122
|
+
*
|
|
123
|
+
* @returns the zip information
|
|
124
|
+
*/
|
|
125
|
+
async package() {
|
|
126
|
+
const raw = JSON.parse(JSON.stringify(this.getParameters()));
|
|
127
|
+
const options = resolveDeploymentVariables(raw, getDeploymentVariables(this));
|
|
128
|
+
const result = await createLambdaPackage(this.getApplication(), options);
|
|
129
|
+
this.log("INFO", `Lambda package ${result.zipPath} created: ${result.files} files, ${result.size} bytes`);
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
132
|
+
constructor() {
|
|
133
|
+
super(...arguments);
|
|
134
|
+
__runInitializers(this, _instanceExtraInitializers);
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
(() => {
|
|
138
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
139
|
+
_package_decorators = [Command("aws package", {
|
|
140
|
+
description: "Package the application as an AWS Lambda zip",
|
|
141
|
+
phase: "resolved"
|
|
142
|
+
})];
|
|
143
|
+
__esDecorate(_a, null, _package_decorators, { kind: "method", name: "package", static: false, private: false, access: { has: obj => "package" in obj, get: obj => obj.package }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
144
|
+
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
145
|
+
})(),
|
|
146
|
+
_a;
|
|
147
|
+
})();
|
|
148
|
+
export { LambdaPackager };
|
|
149
|
+
//# sourceMappingURL=lambdapackager.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lambdapackager.service.js","sourceRoot":"","sources":["../../src/deployers/lambdapackager.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A file to add to a zip archive
|
|
3
|
+
*/
|
|
4
|
+
export interface ZipEntry {
|
|
5
|
+
/**
|
|
6
|
+
* Posix path of the file within the archive
|
|
7
|
+
*/
|
|
8
|
+
target: string;
|
|
9
|
+
/**
|
|
10
|
+
* Path of the file to read, when there is no content
|
|
11
|
+
*/
|
|
12
|
+
source?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Content of the file
|
|
15
|
+
*/
|
|
16
|
+
content?: string | Buffer;
|
|
17
|
+
/**
|
|
18
|
+
* Unix file mode
|
|
19
|
+
*
|
|
20
|
+
* @default 0o644
|
|
21
|
+
*/
|
|
22
|
+
mode?: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Compute the CRC32 of a buffer
|
|
26
|
+
* @param data - the buffer
|
|
27
|
+
* @returns the unsigned CRC32
|
|
28
|
+
*/
|
|
29
|
+
export declare function crc32(data: Buffer): number;
|
|
30
|
+
/**
|
|
31
|
+
* Write a zip archive
|
|
32
|
+
*
|
|
33
|
+
* The archive is deterministic: entries are written in the given order with a fixed date,
|
|
34
|
+
* so the same files give the same archive (and the same S3 ETag).
|
|
35
|
+
* Zip64 is not supported: at most 65535 entries and 4GB.
|
|
36
|
+
*
|
|
37
|
+
* @param zipPath - the archive to write
|
|
38
|
+
* @param entries - the files
|
|
39
|
+
* @returns the size of the archive
|
|
40
|
+
*/
|
|
41
|
+
export declare function writeZip(zipPath: string, entries: ZipEntry[]): number;
|
|
42
|
+
//# sourceMappingURL=zip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../src/deployers/zip.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAiBD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM1C;AAWD;;;;;;;;;;GAUG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,CA8ErE"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { closeSync, mkdirSync, openSync, readFileSync, writeSync } from "node:fs";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { deflateRawSync } from "node:zlib";
|
|
4
|
+
/**
|
|
5
|
+
* CRC32 lookup table
|
|
6
|
+
*/
|
|
7
|
+
const CRC_TABLE = (() => {
|
|
8
|
+
const table = new Int32Array(256);
|
|
9
|
+
for (let n = 0; n < 256; n++) {
|
|
10
|
+
let c = n;
|
|
11
|
+
for (let k = 0; k < 8; k++) {
|
|
12
|
+
c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
|
|
13
|
+
}
|
|
14
|
+
table[n] = c;
|
|
15
|
+
}
|
|
16
|
+
return table;
|
|
17
|
+
})();
|
|
18
|
+
/**
|
|
19
|
+
* Compute the CRC32 of a buffer
|
|
20
|
+
* @param data - the buffer
|
|
21
|
+
* @returns the unsigned CRC32
|
|
22
|
+
*/
|
|
23
|
+
export function crc32(data) {
|
|
24
|
+
let crc = -1;
|
|
25
|
+
for (let i = 0; i < data.length; i++) {
|
|
26
|
+
crc = CRC_TABLE[(crc ^ data[i]) & 0xff] ^ (crc >>> 8);
|
|
27
|
+
}
|
|
28
|
+
return (crc ^ -1) >>> 0;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* DOS date of 1980-01-01: entries have a fixed date so the same content gives the same archive
|
|
32
|
+
*/
|
|
33
|
+
const DOS_DATE = (0 << 9) | (1 << 5) | 1;
|
|
34
|
+
/**
|
|
35
|
+
* Flag of the UTF-8 file names
|
|
36
|
+
*/
|
|
37
|
+
const UTF8_FLAG = 0x0800;
|
|
38
|
+
/**
|
|
39
|
+
* Write a zip archive
|
|
40
|
+
*
|
|
41
|
+
* The archive is deterministic: entries are written in the given order with a fixed date,
|
|
42
|
+
* so the same files give the same archive (and the same S3 ETag).
|
|
43
|
+
* Zip64 is not supported: at most 65535 entries and 4GB.
|
|
44
|
+
*
|
|
45
|
+
* @param zipPath - the archive to write
|
|
46
|
+
* @param entries - the files
|
|
47
|
+
* @returns the size of the archive
|
|
48
|
+
*/
|
|
49
|
+
export function writeZip(zipPath, entries) {
|
|
50
|
+
if (entries.length > 0xffff) {
|
|
51
|
+
throw new Error(`Too many files for a zip archive: ${entries.length}`);
|
|
52
|
+
}
|
|
53
|
+
mkdirSync(dirname(zipPath), { recursive: true });
|
|
54
|
+
const fd = openSync(zipPath, "w");
|
|
55
|
+
let offset = 0;
|
|
56
|
+
const central = [];
|
|
57
|
+
const write = (buffer) => {
|
|
58
|
+
writeSync(fd, buffer);
|
|
59
|
+
offset += buffer.length;
|
|
60
|
+
};
|
|
61
|
+
try {
|
|
62
|
+
for (const entry of entries) {
|
|
63
|
+
const data = entry.source !== undefined ? readFileSync(entry.source) : Buffer.from(entry.content ?? "");
|
|
64
|
+
const deflated = deflateRawSync(data);
|
|
65
|
+
// Store the file if compression does not help
|
|
66
|
+
const method = deflated.length < data.length ? 8 : 0;
|
|
67
|
+
const body = method === 8 ? deflated : data;
|
|
68
|
+
const crc = crc32(data);
|
|
69
|
+
const name = Buffer.from(entry.target, "utf8");
|
|
70
|
+
if (offset + body.length + 30 + name.length > 0xffffffff) {
|
|
71
|
+
throw new Error("Zip archive larger than 4GB is not supported");
|
|
72
|
+
}
|
|
73
|
+
const local = Buffer.alloc(30);
|
|
74
|
+
local.writeUInt32LE(0x04034b50, 0);
|
|
75
|
+
local.writeUInt16LE(20, 4);
|
|
76
|
+
local.writeUInt16LE(UTF8_FLAG, 6);
|
|
77
|
+
local.writeUInt16LE(method, 8);
|
|
78
|
+
local.writeUInt16LE(0, 10);
|
|
79
|
+
local.writeUInt16LE(DOS_DATE, 12);
|
|
80
|
+
local.writeUInt32LE(crc, 14);
|
|
81
|
+
local.writeUInt32LE(body.length, 18);
|
|
82
|
+
local.writeUInt32LE(data.length, 22);
|
|
83
|
+
local.writeUInt16LE(name.length, 26);
|
|
84
|
+
local.writeUInt16LE(0, 28);
|
|
85
|
+
const header = Buffer.alloc(46);
|
|
86
|
+
header.writeUInt32LE(0x02014b50, 0);
|
|
87
|
+
// Made by unix (3) so the file mode is kept
|
|
88
|
+
header.writeUInt16LE((3 << 8) | 20, 4);
|
|
89
|
+
header.writeUInt16LE(20, 6);
|
|
90
|
+
header.writeUInt16LE(UTF8_FLAG, 8);
|
|
91
|
+
header.writeUInt16LE(method, 10);
|
|
92
|
+
header.writeUInt16LE(0, 12);
|
|
93
|
+
header.writeUInt16LE(DOS_DATE, 14);
|
|
94
|
+
header.writeUInt32LE(crc, 16);
|
|
95
|
+
header.writeUInt32LE(body.length, 20);
|
|
96
|
+
header.writeUInt32LE(data.length, 24);
|
|
97
|
+
header.writeUInt16LE(name.length, 28);
|
|
98
|
+
header.writeUInt16LE(0, 30);
|
|
99
|
+
header.writeUInt16LE(0, 32);
|
|
100
|
+
header.writeUInt16LE(0, 34);
|
|
101
|
+
header.writeUInt16LE(0, 36);
|
|
102
|
+
header.writeUInt32LE((((entry.mode ?? 0o644) & 0xffff) | 0o100000) * 0x10000, 38);
|
|
103
|
+
header.writeUInt32LE(offset, 42);
|
|
104
|
+
central.push(header, name);
|
|
105
|
+
write(local);
|
|
106
|
+
write(name);
|
|
107
|
+
write(body);
|
|
108
|
+
}
|
|
109
|
+
const centralOffset = offset;
|
|
110
|
+
for (const buffer of central) {
|
|
111
|
+
write(buffer);
|
|
112
|
+
}
|
|
113
|
+
const end = Buffer.alloc(22);
|
|
114
|
+
end.writeUInt32LE(0x06054b50, 0);
|
|
115
|
+
end.writeUInt16LE(0, 4);
|
|
116
|
+
end.writeUInt16LE(0, 6);
|
|
117
|
+
end.writeUInt16LE(entries.length, 8);
|
|
118
|
+
end.writeUInt16LE(entries.length, 10);
|
|
119
|
+
end.writeUInt32LE(offset - centralOffset, 12);
|
|
120
|
+
end.writeUInt32LE(centralOffset, 16);
|
|
121
|
+
end.writeUInt16LE(0, 20);
|
|
122
|
+
write(end);
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
closeSync(fd);
|
|
126
|
+
}
|
|
127
|
+
return offset;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=zip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip.js","sourceRoot":"","sources":["../../src/deployers/zip.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AWS client parameters shared by the AWS services
|
|
3
|
+
*
|
|
4
|
+
* Each service parameters class declares these fields and calls
|
|
5
|
+
* {@link loadAWSParameters} from its `load()` override
|
|
6
|
+
*/
|
|
7
|
+
export interface AWSServiceParameters {
|
|
8
|
+
/**
|
|
9
|
+
* Custom endpoint (localstack, minio, ...)
|
|
10
|
+
*/
|
|
11
|
+
endpoint?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Static credentials, default to the AWS environment variables
|
|
14
|
+
*/
|
|
15
|
+
credentials?: {
|
|
16
|
+
accessKeyId: string;
|
|
17
|
+
secretAccessKey: string;
|
|
18
|
+
sessionToken?: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* AWS region
|
|
22
|
+
* @default "us-east-1"
|
|
23
|
+
*/
|
|
24
|
+
region?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Default the region and credentials from the AWS environment variables
|
|
28
|
+
*
|
|
29
|
+
* @param params - the parameters to complete
|
|
30
|
+
* @returns the parameters
|
|
31
|
+
*/
|
|
32
|
+
export declare function loadAWSParameters<T extends AWSServiceParameters>(params: T): T;
|
|
33
|
+
//# sourceMappingURL=aws-parameters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-parameters.d.ts","sourceRoot":"","sources":["../../src/services/aws-parameters.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,oBAAoB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAU9E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default the region and credentials from the AWS environment variables
|
|
3
|
+
*
|
|
4
|
+
* @param params - the parameters to complete
|
|
5
|
+
* @returns the parameters
|
|
6
|
+
*/
|
|
7
|
+
export function loadAWSParameters(params) {
|
|
8
|
+
params.region ?? (params.region = process.env["AWS_DEFAULT_REGION"] || "us-east-1");
|
|
9
|
+
if (process.env["AWS_ACCESS_KEY_ID"] && process.env["AWS_SECRET_ACCESS_KEY"] && !process.env["ECS_CLUSTER"]) {
|
|
10
|
+
params.credentials ?? (params.credentials = {
|
|
11
|
+
accessKeyId: process.env["AWS_ACCESS_KEY_ID"],
|
|
12
|
+
secretAccessKey: process.env["AWS_SECRET_ACCESS_KEY"],
|
|
13
|
+
sessionToken: process.env["AWS_SESSION_TOKEN"]
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return params;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=aws-parameters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aws-parameters.js","sourceRoot":"","sources":["../../src/services/aws-parameters.ts"],"names":[],"mappings":"AA0BA;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAiC,MAAS;IACzE,MAAM,CAAC,MAAM,KAAb,MAAM,CAAC,MAAM,GAAK,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,WAAW,EAAC;IACnE,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5G,MAAM,CAAC,WAAW,KAAlB,MAAM,CAAC,WAAW,GAAK;YACrB,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAC7C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;YACrD,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;SAC/C,EAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Service } from "@webda/core";
|
|
2
|
+
/**
|
|
3
|
+
* AWS command line utilities
|
|
4
|
+
*
|
|
5
|
+
* Exposes the `webda aws route53 export|import|sync` and `webda aws copyTable` commands
|
|
6
|
+
*
|
|
7
|
+
* @WebdaModda
|
|
8
|
+
*/
|
|
9
|
+
export declare class AWSCommands extends Service {
|
|
10
|
+
/**
|
|
11
|
+
* Export a Route53 domain to a file
|
|
12
|
+
*
|
|
13
|
+
* @param domain - the domain to export
|
|
14
|
+
* @param file - the file to export to (.json or .yml)
|
|
15
|
+
*/
|
|
16
|
+
route53Export(domain: string, file: string): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Import a Route53 exported file to Route53
|
|
19
|
+
*
|
|
20
|
+
* @param file - the exported file
|
|
21
|
+
*/
|
|
22
|
+
route53Import(file: string): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Sync a Route53 exported file to Route53, removing any other entries
|
|
25
|
+
*
|
|
26
|
+
* @param file - the exported file
|
|
27
|
+
* @param pretend - only display the entries that would be removed
|
|
28
|
+
*/
|
|
29
|
+
route53Sync(file: string, pretend?: boolean): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Copy all items of a DynamoDB table into another one
|
|
32
|
+
*
|
|
33
|
+
* @param sourceTable - the table to copy from
|
|
34
|
+
* @param targetTable - the table to copy to
|
|
35
|
+
*/
|
|
36
|
+
copyTable(sourceTable: string, targetTable: string): Promise<void>;
|
|
37
|
+
}
|
|
38
|
+
export default AWSCommands;
|
|
39
|
+
//# sourceMappingURL=awscommands.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"awscommands.service.d.ts","sourceRoot":"","sources":["../../src/services/awscommands.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,OAAO,EAAE,MAAM,aAAa,CAAC;AAK/C;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,OAAO;IACtC;;;;;OAKG;IAMG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;IAED;;;;OAIG;IAMG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;IAED;;;;;OAKG;IAMG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;IAED;;;;;OAKG;IAMG,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvE;CACF;eAEc,WAAW"}
|