@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.
Files changed (169) hide show
  1. package/README.md +64 -7
  2. package/lib/deployers/awsdeployer.d.ts +340 -0
  3. package/lib/deployers/awsdeployer.d.ts.map +1 -0
  4. package/lib/deployers/awsdeployer.js +673 -0
  5. package/lib/deployers/awsdeployer.js.map +1 -0
  6. package/lib/deployers/cloudformation.service.d.ts +438 -0
  7. package/lib/deployers/cloudformation.service.d.ts.map +1 -0
  8. package/lib/deployers/cloudformation.service.js +889 -0
  9. package/lib/deployers/cloudformation.service.js.map +1 -0
  10. package/lib/deployers/index.d.ts +4 -254
  11. package/lib/deployers/index.d.ts.map +1 -1
  12. package/lib/deployers/index.js +4 -542
  13. package/lib/deployers/index.js.map +1 -1
  14. package/lib/deployers/lambda-entrypoint.d.ts +33 -1
  15. package/lib/deployers/lambda-entrypoint.d.ts.map +1 -1
  16. package/lib/deployers/lambda-entrypoint.js +44 -10
  17. package/lib/deployers/lambda-entrypoint.js.map +1 -1
  18. package/lib/deployers/lambdapackager.service.d.ts +123 -0
  19. package/lib/deployers/lambdapackager.service.d.ts.map +1 -0
  20. package/lib/deployers/lambdapackager.service.js +149 -0
  21. package/lib/deployers/lambdapackager.service.js.map +1 -0
  22. package/lib/deployers/zip.d.ts +42 -0
  23. package/lib/deployers/zip.d.ts.map +1 -0
  24. package/lib/deployers/zip.js +129 -0
  25. package/lib/deployers/zip.js.map +1 -0
  26. package/lib/index.d.ts +1 -0
  27. package/lib/index.d.ts.map +1 -1
  28. package/lib/index.js +1 -0
  29. package/lib/index.js.map +1 -1
  30. package/lib/services/aws-parameters.d.ts +33 -0
  31. package/lib/services/aws-parameters.d.ts.map +1 -0
  32. package/lib/services/aws-parameters.js +18 -0
  33. package/lib/services/aws-parameters.js.map +1 -0
  34. package/lib/services/awscommands.service.d.ts +39 -0
  35. package/lib/services/awscommands.service.d.ts.map +1 -0
  36. package/lib/services/awscommands.service.js +127 -0
  37. package/lib/services/awscommands.service.js.map +1 -0
  38. package/lib/services/cloudwatchlogger.service.d.ts +131 -0
  39. package/lib/services/cloudwatchlogger.service.d.ts.map +1 -0
  40. package/lib/services/{cloudwatchlogger.js → cloudwatchlogger.service.js} +60 -28
  41. package/lib/services/cloudwatchlogger.service.js.map +1 -0
  42. package/lib/services/contributors.d.ts +36 -0
  43. package/lib/services/contributors.d.ts.map +1 -0
  44. package/lib/services/contributors.js +2 -0
  45. package/lib/services/contributors.js.map +1 -0
  46. package/lib/services/dynamodb.service.d.ts +298 -0
  47. package/lib/services/dynamodb.service.d.ts.map +1 -0
  48. package/lib/services/dynamodb.service.js +986 -0
  49. package/lib/services/dynamodb.service.js.map +1 -0
  50. package/lib/services/index.d.ts +11 -31
  51. package/lib/services/index.d.ts.map +1 -1
  52. package/lib/services/index.js +11 -8
  53. package/lib/services/index.js.map +1 -1
  54. package/lib/services/lambdacaller.service.d.ts +81 -0
  55. package/lib/services/lambdacaller.service.d.ts.map +1 -0
  56. package/lib/services/lambdacaller.service.js +75 -0
  57. package/lib/services/lambdacaller.service.js.map +1 -0
  58. package/lib/services/lambdaserver.service.d.ts +127 -0
  59. package/lib/services/lambdaserver.service.d.ts.map +1 -0
  60. package/lib/services/lambdaserver.service.js +294 -0
  61. package/lib/services/lambdaserver.service.js.map +1 -0
  62. package/lib/services/{route53.d.ts → route53.service.d.ts} +21 -12
  63. package/lib/services/route53.service.d.ts.map +1 -0
  64. package/lib/services/{route53.js → route53.service.js} +25 -28
  65. package/lib/services/route53.service.js.map +1 -0
  66. package/lib/services/s3binary.service.d.ts +215 -0
  67. package/lib/services/s3binary.service.d.ts.map +1 -0
  68. package/lib/services/{s3binary.js → s3binary.service.js} +93 -55
  69. package/lib/services/s3binary.service.js.map +1 -0
  70. package/lib/services/secretsmanager.service.d.ts +102 -0
  71. package/lib/services/secretsmanager.service.d.ts.map +1 -0
  72. package/lib/services/{secretsmanager.js → secretsmanager.service.js} +40 -22
  73. package/lib/services/secretsmanager.service.js.map +1 -0
  74. package/lib/services/{sqsqueue.d.ts → sqsqueue.service.d.ts} +60 -35
  75. package/lib/services/sqsqueue.service.d.ts.map +1 -0
  76. package/lib/services/{sqsqueue.js → sqsqueue.service.js} +53 -28
  77. package/lib/services/sqsqueue.service.js.map +1 -0
  78. package/package.json +56 -64
  79. package/webda.module.json +1425 -264
  80. package/lib/deployers/cloudformation.d.ts +0 -317
  81. package/lib/deployers/cloudformation.d.ts.map +0 -1
  82. package/lib/deployers/cloudformation.js +0 -837
  83. package/lib/deployers/cloudformation.js.map +0 -1
  84. package/lib/deployers/cloudformation.spec.d.ts +0 -2
  85. package/lib/deployers/cloudformation.spec.d.ts.map +0 -1
  86. package/lib/deployers/cloudformation.spec.js +0 -530
  87. package/lib/deployers/cloudformation.spec.js.map +0 -1
  88. package/lib/deployers/index.spec.d.ts +0 -9
  89. package/lib/deployers/index.spec.d.ts.map +0 -1
  90. package/lib/deployers/index.spec.js +0 -595
  91. package/lib/deployers/index.spec.js.map +0 -1
  92. package/lib/deployers/lambdapackager.d.ts +0 -28
  93. package/lib/deployers/lambdapackager.d.ts.map +0 -1
  94. package/lib/deployers/lambdapackager.js +0 -26
  95. package/lib/deployers/lambdapackager.js.map +0 -1
  96. package/lib/deployers/lambdapackager.spec.d.ts +0 -2
  97. package/lib/deployers/lambdapackager.spec.d.ts.map +0 -1
  98. package/lib/deployers/lambdapackager.spec.js +0 -44
  99. package/lib/deployers/lambdapackager.spec.js.map +0 -1
  100. package/lib/index.spec.d.ts +0 -11
  101. package/lib/index.spec.d.ts.map +0 -1
  102. package/lib/index.spec.js +0 -42
  103. package/lib/index.spec.js.map +0 -1
  104. package/lib/services/aws-mixin.d.ts +0 -25
  105. package/lib/services/aws-mixin.d.ts.map +0 -1
  106. package/lib/services/aws-mixin.js +0 -18
  107. package/lib/services/aws-mixin.js.map +0 -1
  108. package/lib/services/cloudwatchlogger.d.ts +0 -82
  109. package/lib/services/cloudwatchlogger.d.ts.map +0 -1
  110. package/lib/services/cloudwatchlogger.js.map +0 -1
  111. package/lib/services/cloudwatchlogger.spec.d.ts +0 -2
  112. package/lib/services/cloudwatchlogger.spec.d.ts.map +0 -1
  113. package/lib/services/cloudwatchlogger.spec.js +0 -104
  114. package/lib/services/cloudwatchlogger.spec.js.map +0 -1
  115. package/lib/services/dynamodb.d.ts +0 -174
  116. package/lib/services/dynamodb.d.ts.map +0 -1
  117. package/lib/services/dynamodb.js +0 -711
  118. package/lib/services/dynamodb.js.map +0 -1
  119. package/lib/services/dynamodb.spec.d.ts +0 -24
  120. package/lib/services/dynamodb.spec.d.ts.map +0 -1
  121. package/lib/services/dynamodb.spec.js +0 -344
  122. package/lib/services/dynamodb.spec.js.map +0 -1
  123. package/lib/services/lambdacaller.d.ts +0 -69
  124. package/lib/services/lambdacaller.d.ts.map +0 -1
  125. package/lib/services/lambdacaller.js +0 -63
  126. package/lib/services/lambdacaller.js.map +0 -1
  127. package/lib/services/lambdacaller.spec.d.ts +0 -2
  128. package/lib/services/lambdacaller.spec.d.ts.map +0 -1
  129. package/lib/services/lambdacaller.spec.js +0 -70
  130. package/lib/services/lambdacaller.spec.js.map +0 -1
  131. package/lib/services/lambdaserver.d.ts +0 -87
  132. package/lib/services/lambdaserver.d.ts.map +0 -1
  133. package/lib/services/lambdaserver.js +0 -263
  134. package/lib/services/lambdaserver.js.map +0 -1
  135. package/lib/services/lambdaserver.spec.d.ts +0 -2
  136. package/lib/services/lambdaserver.spec.d.ts.map +0 -1
  137. package/lib/services/lambdaserver.spec.js +0 -417
  138. package/lib/services/lambdaserver.spec.js.map +0 -1
  139. package/lib/services/route53.d.ts.map +0 -1
  140. package/lib/services/route53.js.map +0 -1
  141. package/lib/services/route53.spec.d.ts +0 -2
  142. package/lib/services/route53.spec.d.ts.map +0 -1
  143. package/lib/services/route53.spec.js +0 -102
  144. package/lib/services/route53.spec.js.map +0 -1
  145. package/lib/services/s3binary.d.ts +0 -163
  146. package/lib/services/s3binary.d.ts.map +0 -1
  147. package/lib/services/s3binary.js.map +0 -1
  148. package/lib/services/s3binary.spec.d.ts +0 -2
  149. package/lib/services/s3binary.spec.d.ts.map +0 -1
  150. package/lib/services/s3binary.spec.js +0 -284
  151. package/lib/services/s3binary.spec.js.map +0 -1
  152. package/lib/services/secretsmanager.d.ts +0 -81
  153. package/lib/services/secretsmanager.d.ts.map +0 -1
  154. package/lib/services/secretsmanager.js.map +0 -1
  155. package/lib/services/secretsmanager.spec.d.ts +0 -2
  156. package/lib/services/secretsmanager.spec.d.ts.map +0 -1
  157. package/lib/services/secretsmanager.spec.js +0 -66
  158. package/lib/services/secretsmanager.spec.js.map +0 -1
  159. package/lib/services/sqsqueue.d.ts.map +0 -1
  160. package/lib/services/sqsqueue.js.map +0 -1
  161. package/lib/services/sqsqueue.spec.d.ts +0 -2
  162. package/lib/services/sqsqueue.spec.d.ts.map +0 -1
  163. package/lib/services/sqsqueue.spec.js +0 -157
  164. package/lib/services/sqsqueue.spec.js.map +0 -1
  165. package/lib/shell.d.ts +0 -13
  166. package/lib/shell.d.ts.map +0 -1
  167. package/lib/shell.js +0 -42
  168. package/lib/shell.js.map +0 -1
  169. package/webda.shell.json +0 -11
@@ -0,0 +1,298 @@
1
+ import { DynamoDBDocument } from "@aws-sdk/lib-dynamodb";
2
+ import { MemoryRepository, Store, StoreParameters } from "@webda/core";
3
+ import type { ModelClass, Repository } from "@webda/core";
4
+ import * as WebdaQL from "@webda/ql";
5
+ import { WorkerOutput } from "@webda/workout";
6
+ import { AWSServiceParameters } from "./aws-parameters.js";
7
+ import type { CloudFormationContributor, CloudFormationDeployerInfo } from "./contributors.js";
8
+ /**
9
+ * DynamoDB global secondary indexes definition
10
+ */
11
+ export interface DynamoGlobalIndexes {
12
+ [key: string]: {
13
+ /**
14
+ * Hash key of the index
15
+ */
16
+ key: string;
17
+ /**
18
+ * Range key of the index
19
+ */
20
+ sort?: string;
21
+ };
22
+ }
23
+ /**
24
+ * Define DynamoDB parameters
25
+ */
26
+ export declare class DynamoStoreParameters extends StoreParameters implements AWSServiceParameters {
27
+ /**
28
+ * Custom endpoint (localstack, minio, ...)
29
+ */
30
+ endpoint?: string;
31
+ /**
32
+ * Static credentials, default to the AWS environment variables
33
+ */
34
+ credentials?: {
35
+ accessKeyId: string;
36
+ secretAccessKey: string;
37
+ sessionToken?: string;
38
+ };
39
+ /**
40
+ * AWS region
41
+ * @default "us-east-1"
42
+ */
43
+ region?: string;
44
+ /**
45
+ * Table name
46
+ */
47
+ table: string;
48
+ /**
49
+ * Per-model table name overrides, keyed by model identifier
50
+ *
51
+ * Models not listed use `table`
52
+ */
53
+ tables?: {
54
+ [modelIdentifier: string]: string;
55
+ };
56
+ /**
57
+ * Additional global indexes
58
+ */
59
+ globalIndexes?: DynamoGlobalIndexes;
60
+ /**
61
+ * CloudFormation customization
62
+ */
63
+ CloudFormation?: any;
64
+ /**
65
+ * Skip CloudFormation on deploy
66
+ */
67
+ CloudFormationSkip?: boolean;
68
+ /**
69
+ * Number of items to retrieve per scan page
70
+ */
71
+ scanPage?: number;
72
+ /**
73
+ * @override
74
+ * @param params - raw parameters
75
+ * @returns this
76
+ */
77
+ load(params?: any): this;
78
+ }
79
+ /**
80
+ * Result of a DynamoDB find before applying the residual filter
81
+ */
82
+ export interface DynamoFindResult<T> {
83
+ /**
84
+ * Items returned by DynamoDB
85
+ */
86
+ results: T[];
87
+ /**
88
+ * Part of the query that DynamoDB cannot evaluate
89
+ */
90
+ filter: WebdaQL.Expression;
91
+ /**
92
+ * Next page token
93
+ */
94
+ continuationToken?: string;
95
+ }
96
+ /**
97
+ * Clean an object to store in DynamoDB
98
+ *
99
+ * Dates are converted to ISO strings, empty strings and undefined values are removed
100
+ *
101
+ * @param object - the value to clean
102
+ * @returns the cleaned value
103
+ */
104
+ export declare function cleanObject(object: any): any;
105
+ /**
106
+ * DynamoDB-backed repository for a single model class
107
+ *
108
+ * Every object is stored as one item, keyed by the string primary key in the
109
+ * `uuid` hash key attribute.
110
+ */
111
+ export declare class DynamoRepository<T extends ModelClass> extends MemoryRepository<T> {
112
+ protected readonly client: DynamoDBDocument;
113
+ protected readonly table: string;
114
+ protected readonly globalIndexes: DynamoGlobalIndexes;
115
+ protected readonly scanPage?: number;
116
+ protected readonly storeName: string;
117
+ /**
118
+ * Create a new DynamoRepository
119
+ * @param model - the model class
120
+ * @param pks - primary key field names
121
+ * @param client - the DynamoDB document client
122
+ * @param table - the table name
123
+ * @param globalIndexes - global secondary indexes usable by queries
124
+ * @param scanPage - scan page size used by __clean
125
+ * @param storeName - store name used in errors
126
+ * @param separator - primary key separator
127
+ */
128
+ constructor(model: T, pks: string[], client: DynamoDBDocument, table: string, globalIndexes?: DynamoGlobalIndexes, scanPage?: number, storeName?: string, separator?: string);
129
+ /**
130
+ * The backing table name
131
+ * @returns the table name
132
+ */
133
+ getTable(): string;
134
+ /**
135
+ * Return the DynamoDB key of an object or primary key
136
+ * @param primaryKey - the object or primary key
137
+ * @returns the string key
138
+ */
139
+ protected getKey(primaryKey: any): string;
140
+ /**
141
+ * Convert a model or plain object to a DynamoDB item
142
+ * @param data - the object to convert
143
+ * @returns the item
144
+ */
145
+ toItem(data: any): any;
146
+ /**
147
+ * Convert a DynamoDB item to a model instance
148
+ *
149
+ * The `__type` attribute is used to instantiate the right subclass
150
+ * @param item - the DynamoDB item
151
+ * @returns the model instance
152
+ */
153
+ fromItem(item: any): InstanceType<T>;
154
+ /**
155
+ * Add a write condition to the DynamoDB parameters
156
+ * @param params - the DynamoDB parameters
157
+ * @param writeCondition - the expected value
158
+ * @param field - the field to check
159
+ */
160
+ setWriteCondition(params: any, writeCondition: any, field: string): void;
161
+ /**
162
+ * Build a document path expression for an attribute like `team.id`
163
+ * @param attribute - the attribute path
164
+ * @param names - expression attribute names to fill
165
+ * @param prefix - placeholder prefix
166
+ * @returns the path expression
167
+ */
168
+ protected attributePath(attribute: string, names: any, prefix: string): string;
169
+ /** @override */
170
+ get(primaryKey: any): Promise<any>;
171
+ /** @override */
172
+ exists(primaryKey: any): Promise<boolean>;
173
+ /** @override */
174
+ create(data: any, save?: boolean): Promise<any>;
175
+ /** @override */
176
+ update(data: any, conditionField?: any, condition?: any): Promise<void>;
177
+ /** @override */
178
+ patch(primaryKey: any, data: any, conditionField?: any, condition?: any): Promise<void>;
179
+ /** @override */
180
+ delete(primaryKey: any, conditionField?: any, condition?: any): Promise<void>;
181
+ /** @override */
182
+ removeAttribute(primaryKey: any, attribute: any, conditionField?: any, condition?: any): Promise<void>;
183
+ /** @override */
184
+ incrementAttributes(primaryKey: any, info: any, conditionField?: any, condition?: any): Promise<void>;
185
+ /** @override */
186
+ upsertItemToCollection(primaryKey: any, collection: any, item: any, index?: number, itemWriteConditionField?: any, itemWriteCondition?: any): Promise<void>;
187
+ /** @override */
188
+ deleteItemFromCollection(primaryKey: any, collection: any, index: number, itemWriteConditionField?: any, itemWriteCondition?: any): Promise<void>;
189
+ /**
190
+ * Translate a WebdaQL query into a DynamoDB scan or query
191
+ *
192
+ * A query on the hash key or on a global index hash key with `=` uses a DynamoDB Query,
193
+ * anything else is a Scan. The part of the expression DynamoDB cannot evaluate is
194
+ * returned in `filter` and must be applied on the results.
195
+ *
196
+ * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Query.html
197
+ * @see https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.html
198
+ * @param query - the parsed query
199
+ * @returns the items and the residual filter
200
+ */
201
+ find(query: WebdaQL.Query): Promise<DynamoFindResult<InstanceType<T>>>;
202
+ /**
203
+ * Query the table
204
+ *
205
+ * Pages are retrieved until the limit is reached, applying the part of the
206
+ * filter that DynamoDB cannot evaluate and restricting to the model hierarchy
207
+ * @override
208
+ * @param query - the WebdaQL query
209
+ * @returns the results and the continuation token
210
+ */
211
+ query(query: string | any): Promise<{
212
+ results: InstanceType<T>[];
213
+ continuationToken?: string;
214
+ }>;
215
+ /**
216
+ * Iterate over the query results
217
+ * @override
218
+ * @param query - the WebdaQL query
219
+ */
220
+ iterate(query: string): AsyncGenerator<InstanceType<T>, any, any>;
221
+ /**
222
+ * Delete all items from the table (used in tests)
223
+ */
224
+ __clean(): Promise<void>;
225
+ }
226
+ /**
227
+ * DynamoStore handles the DynamoDB
228
+ *
229
+ * Parameters:
230
+ * accessKeyId: '' // try WEBDA_AWS_KEY env variable if not found
231
+ * secretAccessKey: '' // try WEBDA_AWS_SECRET env variable if not found
232
+ * table: ''
233
+ * region: ''
234
+ *
235
+ * The table must have a `uuid` string hash key
236
+ *
237
+ * @WebdaModda
238
+ */
239
+ export declare class DynamoStore<K extends DynamoStoreParameters = DynamoStoreParameters> extends Store<K> implements CloudFormationContributor {
240
+ _client: DynamoDBDocument;
241
+ /**
242
+ * Create the AWS client
243
+ * @returns this
244
+ */
245
+ resolve(): this;
246
+ /**
247
+ * Copy one DynamoDB table to another
248
+ *
249
+ * @param output - worker output to report progress
250
+ * @param source - source table
251
+ * @param target - target table
252
+ */
253
+ static copyTable(output: WorkerOutput, source: string, target: string): Promise<void>;
254
+ /**
255
+ * Resolve the table name for a given model class
256
+ *
257
+ * `tables[identifier]` overrides the default `table`
258
+ * @param model - the model class
259
+ * @returns the table name
260
+ */
261
+ resolveTable(model: ModelClass): string;
262
+ /**
263
+ * Build the DynamoRepository for a model
264
+ *
265
+ * The result is cached per model class
266
+ * @param model - the model class
267
+ * @returns a repository backed by this store's DynamoDB table
268
+ */
269
+ getRepository<T extends ModelClass>(model: T): Repository<T>;
270
+ /**
271
+ * Return the underlying DynamoRepository for each model this store manages
272
+ * @returns the repositories
273
+ */
274
+ getRepositories(): DynamoRepository<any>[];
275
+ /**
276
+ * IAM policy required by the store
277
+ * @param accountId - AWS account id
278
+ * @returns the policy statement
279
+ */
280
+ getARNPolicy(accountId: string): {
281
+ Sid: string;
282
+ Effect: string;
283
+ Action: string[];
284
+ Resource: string[];
285
+ };
286
+ /**
287
+ * Delete all items from the managed tables (used in tests)
288
+ */
289
+ __clean(): Promise<void>;
290
+ /**
291
+ * CloudFormation resources for the table
292
+ * @param deployer - the deployer requesting the resources
293
+ * @returns the resources
294
+ */
295
+ getCloudFormation(deployer: CloudFormationDeployerInfo): {};
296
+ }
297
+ export default DynamoStore;
298
+ //# sourceMappingURL=dynamodb.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamodb.service.d.ts","sourceRoot":"","sources":["../../src/services/dynamodb.service.ts"],"names":[],"mappings":"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"}