@webda/aws 4.0.0-beta.2 → 4.0.0-beta.3

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 (151) hide show
  1. package/README.md +64 -7
  2. package/lib/index.d.ts.map +1 -1
  3. package/lib/index.js.map +1 -1
  4. package/lib/services/aws-parameters.d.ts +33 -0
  5. package/lib/services/aws-parameters.d.ts.map +1 -0
  6. package/lib/services/aws-parameters.js +18 -0
  7. package/lib/services/aws-parameters.js.map +1 -0
  8. package/lib/services/awscommands.service.d.ts +39 -0
  9. package/lib/services/awscommands.service.d.ts.map +1 -0
  10. package/lib/services/awscommands.service.js +127 -0
  11. package/lib/services/awscommands.service.js.map +1 -0
  12. package/lib/services/cloudwatchlogger.service.d.ts +131 -0
  13. package/lib/services/cloudwatchlogger.service.d.ts.map +1 -0
  14. package/lib/services/{cloudwatchlogger.js → cloudwatchlogger.service.js} +60 -28
  15. package/lib/services/cloudwatchlogger.service.js.map +1 -0
  16. package/lib/services/contributors.d.ts +37 -0
  17. package/lib/services/contributors.d.ts.map +1 -0
  18. package/lib/services/contributors.js +2 -0
  19. package/lib/services/contributors.js.map +1 -0
  20. package/lib/services/dynamodb.service.d.ts +297 -0
  21. package/lib/services/dynamodb.service.d.ts.map +1 -0
  22. package/lib/services/dynamodb.service.js +985 -0
  23. package/lib/services/dynamodb.service.js.map +1 -0
  24. package/lib/services/index.d.ts +11 -31
  25. package/lib/services/index.d.ts.map +1 -1
  26. package/lib/services/index.js +11 -8
  27. package/lib/services/index.js.map +1 -1
  28. package/lib/services/lambdacaller.service.d.ts +81 -0
  29. package/lib/services/lambdacaller.service.d.ts.map +1 -0
  30. package/lib/services/lambdacaller.service.js +75 -0
  31. package/lib/services/lambdacaller.service.js.map +1 -0
  32. package/lib/services/lambdaserver.service.d.ts +127 -0
  33. package/lib/services/lambdaserver.service.d.ts.map +1 -0
  34. package/lib/services/lambdaserver.service.js +294 -0
  35. package/lib/services/lambdaserver.service.js.map +1 -0
  36. package/lib/services/{route53.d.ts → route53.service.d.ts} +21 -12
  37. package/lib/services/route53.service.d.ts.map +1 -0
  38. package/lib/services/{route53.js → route53.service.js} +25 -28
  39. package/lib/services/route53.service.js.map +1 -0
  40. package/lib/services/s3binary.service.d.ts +215 -0
  41. package/lib/services/s3binary.service.d.ts.map +1 -0
  42. package/lib/services/{s3binary.js → s3binary.service.js} +93 -55
  43. package/lib/services/s3binary.service.js.map +1 -0
  44. package/lib/services/secretsmanager.service.d.ts +102 -0
  45. package/lib/services/secretsmanager.service.d.ts.map +1 -0
  46. package/lib/services/{secretsmanager.js → secretsmanager.service.js} +40 -22
  47. package/lib/services/secretsmanager.service.js.map +1 -0
  48. package/lib/services/{sqsqueue.d.ts → sqsqueue.service.d.ts} +60 -35
  49. package/lib/services/sqsqueue.service.d.ts.map +1 -0
  50. package/lib/services/{sqsqueue.js → sqsqueue.service.js} +53 -28
  51. package/lib/services/sqsqueue.service.js.map +1 -0
  52. package/package.json +58 -63
  53. package/webda.module.json +743 -280
  54. package/lib/deployers/cloudformation.d.ts +0 -317
  55. package/lib/deployers/cloudformation.d.ts.map +0 -1
  56. package/lib/deployers/cloudformation.js +0 -837
  57. package/lib/deployers/cloudformation.js.map +0 -1
  58. package/lib/deployers/cloudformation.spec.d.ts +0 -2
  59. package/lib/deployers/cloudformation.spec.d.ts.map +0 -1
  60. package/lib/deployers/cloudformation.spec.js +0 -530
  61. package/lib/deployers/cloudformation.spec.js.map +0 -1
  62. package/lib/deployers/index.d.ts +0 -255
  63. package/lib/deployers/index.d.ts.map +0 -1
  64. package/lib/deployers/index.js +0 -543
  65. package/lib/deployers/index.js.map +0 -1
  66. package/lib/deployers/index.spec.d.ts +0 -9
  67. package/lib/deployers/index.spec.d.ts.map +0 -1
  68. package/lib/deployers/index.spec.js +0 -595
  69. package/lib/deployers/index.spec.js.map +0 -1
  70. package/lib/deployers/lambda-entrypoint.d.ts +0 -2
  71. package/lib/deployers/lambda-entrypoint.d.ts.map +0 -1
  72. package/lib/deployers/lambda-entrypoint.js +0 -13
  73. package/lib/deployers/lambda-entrypoint.js.map +0 -1
  74. package/lib/deployers/lambdapackager.d.ts +0 -28
  75. package/lib/deployers/lambdapackager.d.ts.map +0 -1
  76. package/lib/deployers/lambdapackager.js +0 -26
  77. package/lib/deployers/lambdapackager.js.map +0 -1
  78. package/lib/deployers/lambdapackager.spec.d.ts +0 -2
  79. package/lib/deployers/lambdapackager.spec.d.ts.map +0 -1
  80. package/lib/deployers/lambdapackager.spec.js +0 -44
  81. package/lib/deployers/lambdapackager.spec.js.map +0 -1
  82. package/lib/index.spec.d.ts +0 -11
  83. package/lib/index.spec.d.ts.map +0 -1
  84. package/lib/index.spec.js +0 -42
  85. package/lib/index.spec.js.map +0 -1
  86. package/lib/services/aws-mixin.d.ts +0 -25
  87. package/lib/services/aws-mixin.d.ts.map +0 -1
  88. package/lib/services/aws-mixin.js +0 -18
  89. package/lib/services/aws-mixin.js.map +0 -1
  90. package/lib/services/cloudwatchlogger.d.ts +0 -82
  91. package/lib/services/cloudwatchlogger.d.ts.map +0 -1
  92. package/lib/services/cloudwatchlogger.js.map +0 -1
  93. package/lib/services/cloudwatchlogger.spec.d.ts +0 -2
  94. package/lib/services/cloudwatchlogger.spec.d.ts.map +0 -1
  95. package/lib/services/cloudwatchlogger.spec.js +0 -104
  96. package/lib/services/cloudwatchlogger.spec.js.map +0 -1
  97. package/lib/services/dynamodb.d.ts +0 -174
  98. package/lib/services/dynamodb.d.ts.map +0 -1
  99. package/lib/services/dynamodb.js +0 -711
  100. package/lib/services/dynamodb.js.map +0 -1
  101. package/lib/services/dynamodb.spec.d.ts +0 -24
  102. package/lib/services/dynamodb.spec.d.ts.map +0 -1
  103. package/lib/services/dynamodb.spec.js +0 -344
  104. package/lib/services/dynamodb.spec.js.map +0 -1
  105. package/lib/services/lambdacaller.d.ts +0 -69
  106. package/lib/services/lambdacaller.d.ts.map +0 -1
  107. package/lib/services/lambdacaller.js +0 -63
  108. package/lib/services/lambdacaller.js.map +0 -1
  109. package/lib/services/lambdacaller.spec.d.ts +0 -2
  110. package/lib/services/lambdacaller.spec.d.ts.map +0 -1
  111. package/lib/services/lambdacaller.spec.js +0 -70
  112. package/lib/services/lambdacaller.spec.js.map +0 -1
  113. package/lib/services/lambdaserver.d.ts +0 -87
  114. package/lib/services/lambdaserver.d.ts.map +0 -1
  115. package/lib/services/lambdaserver.js +0 -263
  116. package/lib/services/lambdaserver.js.map +0 -1
  117. package/lib/services/lambdaserver.spec.d.ts +0 -2
  118. package/lib/services/lambdaserver.spec.d.ts.map +0 -1
  119. package/lib/services/lambdaserver.spec.js +0 -417
  120. package/lib/services/lambdaserver.spec.js.map +0 -1
  121. package/lib/services/route53.d.ts.map +0 -1
  122. package/lib/services/route53.js.map +0 -1
  123. package/lib/services/route53.spec.d.ts +0 -2
  124. package/lib/services/route53.spec.d.ts.map +0 -1
  125. package/lib/services/route53.spec.js +0 -102
  126. package/lib/services/route53.spec.js.map +0 -1
  127. package/lib/services/s3binary.d.ts +0 -163
  128. package/lib/services/s3binary.d.ts.map +0 -1
  129. package/lib/services/s3binary.js.map +0 -1
  130. package/lib/services/s3binary.spec.d.ts +0 -2
  131. package/lib/services/s3binary.spec.d.ts.map +0 -1
  132. package/lib/services/s3binary.spec.js +0 -284
  133. package/lib/services/s3binary.spec.js.map +0 -1
  134. package/lib/services/secretsmanager.d.ts +0 -81
  135. package/lib/services/secretsmanager.d.ts.map +0 -1
  136. package/lib/services/secretsmanager.js.map +0 -1
  137. package/lib/services/secretsmanager.spec.d.ts +0 -2
  138. package/lib/services/secretsmanager.spec.d.ts.map +0 -1
  139. package/lib/services/secretsmanager.spec.js +0 -66
  140. package/lib/services/secretsmanager.spec.js.map +0 -1
  141. package/lib/services/sqsqueue.d.ts.map +0 -1
  142. package/lib/services/sqsqueue.js.map +0 -1
  143. package/lib/services/sqsqueue.spec.d.ts +0 -2
  144. package/lib/services/sqsqueue.spec.d.ts.map +0 -1
  145. package/lib/services/sqsqueue.spec.js +0 -157
  146. package/lib/services/sqsqueue.spec.js.map +0 -1
  147. package/lib/shell.d.ts +0 -13
  148. package/lib/shell.d.ts.map +0 -1
  149. package/lib/shell.js +0 -42
  150. package/lib/shell.js.map +0 -1
  151. package/webda.shell.json +0 -11
package/webda.module.json CHANGED
@@ -1,327 +1,790 @@
1
1
  {
2
+ "$schema": "https://webda.io/schemas/webda.module.v4.json",
2
3
  "beans": {},
3
- "deployers": {
4
- "WebdaAWSDeployer/CloudFormation": "lib/deployers/cloudformation:default",
5
- "WebdaAWSDeployer/LambdaPackager": "lib/deployers/lambdapackager:default"
6
- },
4
+ "deployers": {},
7
5
  "moddas": {
8
- "Webda/AWSSecretsManager": "lib/services/secretsmanager:default",
9
- "Webda/CloudWatchLogger": "lib/services/cloudwatchlogger:default",
10
- "Webda/DynamoStore": "lib/services/dynamodb:default",
11
- "Webda/LambdaCaller": "lib/services/lambdacaller:LambdaCaller",
12
- "Webda/S3Binary": "lib/services/s3binary:default",
13
- "Webda/SQSQueue": "lib/services/sqsqueue:default"
14
- },
15
- "models": {
16
- "graph": {},
17
- "tree": {},
18
- "plurals": {},
19
- "list": {},
20
- "reflections": {}
21
- },
22
- "schemas": {
23
- "Webda/AWSSecretsManager": {
24
- "type": "object",
25
- "properties": {
26
- "type": {
27
- "type": "string",
28
- "description": "Type of the service"
29
- },
30
- "url": {
31
- "type": "string",
32
- "description": "URL on which to serve the content"
33
- },
34
- "openapi": {
35
- "type": "object",
36
- "additionalProperties": true
37
- }
6
+ "Webda/AWSCommands": {
7
+ "Import": "lib/services/awscommands.service:AWSCommands",
8
+ "Schema": {
9
+ "$schema": "http://json-schema.org/draft-07/schema#",
10
+ "additionalProperties": false,
11
+ "description": "Interface to specify the Service parameters",
12
+ "properties": {
13
+ "type": {
14
+ "description": "Type of the service",
15
+ "type": "string"
16
+ },
17
+ "openapi": {
18
+ "type": "object",
19
+ "additionalProperties": true
20
+ }
21
+ },
22
+ "required": [
23
+ "type"
24
+ ],
25
+ "type": "object",
26
+ "title": "AWSCommands"
38
27
  },
39
- "required": [
40
- "type"
41
- ],
42
- "description": "Interface to specify the Service parameters",
43
- "$schema": "http://json-schema.org/draft-07/schema#",
44
- "title": "CloudWatchLogger"
45
- },
46
- "Webda/BinaryFile": {
47
- "type": "object",
48
- "properties": {
49
- "hash": {
50
- "type": "string",
51
- "description": "Will be computed by the service\n\nhash of the content"
52
- },
53
- "challenge": {
54
- "type": "string",
55
- "description": "Will be computed by the service\n\nhash of the content prefixed by 'WEBDA'"
56
- },
57
- "size": {
58
- "type": "number",
59
- "description": "Size of the binary"
60
- },
61
- "name": {
62
- "type": "string",
63
- "description": "Current name"
28
+ "Configuration": "node_modules/@webda/core/lib/services/serviceparameters:ServiceParameters",
29
+ "commands": {
30
+ "aws route53 export": {
31
+ "description": "Export a Route53 domain to a json file",
32
+ "method": "route53Export",
33
+ "args": {
34
+ "domain": {
35
+ "type": "string",
36
+ "required": true
37
+ },
38
+ "file": {
39
+ "type": "string",
40
+ "required": true
41
+ }
42
+ },
43
+ "requires": [
44
+ "aws-commands"
45
+ ],
46
+ "phase": "resolved"
64
47
  },
65
- "mimetype": {
66
- "type": "string",
67
- "description": "Mimetype of the binary"
48
+ "aws route53 import": {
49
+ "description": "Import a Route53 exported format to Route53",
50
+ "method": "route53Import",
51
+ "args": {
52
+ "file": {
53
+ "type": "string",
54
+ "required": true
55
+ }
56
+ },
57
+ "requires": [
58
+ "aws-commands"
59
+ ],
60
+ "phase": "resolved"
68
61
  },
69
- "metadata": {
70
- "description": "Metadatas stored along with the binary"
62
+ "aws route53 sync": {
63
+ "description": "Sync a Route53 exported format to Route53 (remove all others entries)",
64
+ "method": "route53Sync",
65
+ "args": {
66
+ "file": {
67
+ "type": "string",
68
+ "required": true
69
+ },
70
+ "pretend": {
71
+ "type": "boolean",
72
+ "default": false
73
+ }
74
+ },
75
+ "requires": [
76
+ "aws-commands"
77
+ ],
78
+ "phase": "resolved"
71
79
  },
72
- "originalname": {
73
- "type": "string",
74
- "description": "Original name"
80
+ "aws copyTable": {
81
+ "description": "Copy a DynamoDB table content to another table",
82
+ "method": "copyTable",
83
+ "args": {
84
+ "sourceTable": {
85
+ "type": "string",
86
+ "required": true
87
+ },
88
+ "targetTable": {
89
+ "type": "string",
90
+ "required": true
91
+ }
92
+ },
93
+ "requires": [
94
+ "aws-commands"
95
+ ],
96
+ "phase": "resolved"
75
97
  }
98
+ }
99
+ },
100
+ "Webda/AWSSecretsManager": {
101
+ "Import": "lib/services/secretsmanager.service:default",
102
+ "Schema": {
103
+ "$schema": "http://json-schema.org/draft-07/schema#",
104
+ "additionalProperties": false,
105
+ "definitions": {
106
+ "credentials": {
107
+ "additionalProperties": false,
108
+ "description": "Static credentials, default to the AWS environment variables",
109
+ "properties": {
110
+ "accessKeyId": {
111
+ "type": "string"
112
+ },
113
+ "secretAccessKey": {
114
+ "type": "string"
115
+ },
116
+ "sessionToken": {
117
+ "type": "string"
118
+ }
119
+ },
120
+ "required": [
121
+ "accessKeyId",
122
+ "secretAccessKey"
123
+ ],
124
+ "type": "object"
125
+ }
126
+ },
127
+ "description": "AWS SecretsManager parameters",
128
+ "properties": {
129
+ "credentials": {
130
+ "$ref": "#/definitions/credentials",
131
+ "description": "Static credentials, default to the AWS environment variables"
132
+ },
133
+ "endpoint": {
134
+ "description": "Custom endpoint (localstack, minio, ...)",
135
+ "type": "string"
136
+ },
137
+ "region": {
138
+ "default": "us-east-1",
139
+ "description": "AWS region",
140
+ "type": "string"
141
+ },
142
+ "type": {
143
+ "description": "Type of the service",
144
+ "type": "string"
145
+ },
146
+ "openapi": {
147
+ "type": "object",
148
+ "additionalProperties": true
149
+ }
150
+ },
151
+ "required": [
152
+ "type"
153
+ ],
154
+ "type": "object",
155
+ "title": "AWSSecretsManager"
76
156
  },
77
- "required": [
78
- "mimetype",
79
- "name",
80
- "size"
81
- ],
82
- "description": "Represent a file to store",
83
- "$schema": "http://json-schema.org/draft-07/schema#",
84
- "title": "BinaryFile"
157
+ "Configuration": "lib/services/secretsmanager.service:AWSSecretsManagerParameters"
85
158
  },
86
159
  "Webda/CloudWatchLogger": {
87
- "type": "object",
88
- "properties": {
89
- "type": {
90
- "type": "string",
91
- "description": "Type of the service"
92
- },
93
- "url": {
94
- "type": "string",
95
- "description": "URL on which to serve the content"
96
- },
97
- "openapi": {
98
- "type": "object",
99
- "additionalProperties": true
100
- }
160
+ "Import": "lib/services/cloudwatchlogger.service:CloudWatchLogger",
161
+ "Schema": {
162
+ "$schema": "http://json-schema.org/draft-07/schema#",
163
+ "additionalProperties": false,
164
+ "definitions": {
165
+ "credentials": {
166
+ "additionalProperties": false,
167
+ "description": "Static credentials, default to the AWS environment variables",
168
+ "properties": {
169
+ "accessKeyId": {
170
+ "type": "string"
171
+ },
172
+ "secretAccessKey": {
173
+ "type": "string"
174
+ },
175
+ "sessionToken": {
176
+ "type": "string"
177
+ }
178
+ },
179
+ "required": [
180
+ "accessKeyId",
181
+ "secretAccessKey"
182
+ ],
183
+ "type": "object"
184
+ }
185
+ },
186
+ "description": "Send webda log to CloudWatch",
187
+ "properties": {
188
+ "CloudFormation": {
189
+ "description": "CloudFormation customization"
190
+ },
191
+ "CloudFormationSkip": {
192
+ "default": false,
193
+ "description": "Skip CloudFormation on deploy",
194
+ "type": "boolean"
195
+ },
196
+ "credentials": {
197
+ "$ref": "#/definitions/credentials",
198
+ "description": "Static credentials, default to the AWS environment variables"
199
+ },
200
+ "endpoint": {
201
+ "description": "Custom endpoint (localstack, minio, ...)",
202
+ "type": "string"
203
+ },
204
+ "kmsKeyId": {
205
+ "description": "KMS key to use when creating the log group",
206
+ "type": "string"
207
+ },
208
+ "logGroupName": {
209
+ "description": "logGroupName to send logStream to",
210
+ "type": "string"
211
+ },
212
+ "logLevel": {
213
+ "default": "INFO",
214
+ "description": "Minimum level of logs to send",
215
+ "enum": [
216
+ "ERROR",
217
+ "WARN",
218
+ "INFO",
219
+ "DEBUG",
220
+ "TRACE"
221
+ ],
222
+ "type": "string"
223
+ },
224
+ "logStreamNamePrefix": {
225
+ "description": "Prefix of the log stream name, a random uuid is appended",
226
+ "type": "string"
227
+ },
228
+ "region": {
229
+ "default": "us-east-1",
230
+ "description": "AWS region",
231
+ "type": "string"
232
+ },
233
+ "singlePush": {
234
+ "default": false,
235
+ "description": "Send each log line as soon as it is produced",
236
+ "type": "boolean"
237
+ },
238
+ "tags": {
239
+ "description": "Tags to add when creating the log group"
240
+ },
241
+ "type": {
242
+ "description": "Type of the service",
243
+ "type": "string"
244
+ },
245
+ "openapi": {
246
+ "type": "object",
247
+ "additionalProperties": true
248
+ }
249
+ },
250
+ "required": [
251
+ "logGroupName",
252
+ "type"
253
+ ],
254
+ "type": "object",
255
+ "title": "CloudWatchLogger"
101
256
  },
102
- "required": [
103
- "type"
104
- ],
105
- "description": "Interface to specify the Service parameters",
106
- "$schema": "http://json-schema.org/draft-07/schema#",
107
- "title": "CloudWatchLogger"
257
+ "Configuration": "lib/services/cloudwatchlogger.service:CloudWatchLoggerParameters"
108
258
  },
109
259
  "Webda/DynamoStore": {
110
- "type": "object",
111
- "properties": {
112
- "type": {
113
- "type": "string",
114
- "description": "Type of the service"
115
- },
116
- "url": {
117
- "type": "string",
118
- "description": "URL on which to serve the content"
119
- },
120
- "model": {
121
- "type": "string",
122
- "description": "Webda model to use within the Store",
123
- "default": "Webda/CoreModel"
124
- },
125
- "additionalModels": {
126
- "type": "array",
127
- "items": {
260
+ "Import": "lib/services/dynamodb.service:DynamoStore",
261
+ "Schema": {
262
+ "$schema": "http://json-schema.org/draft-07/schema#",
263
+ "additionalProperties": false,
264
+ "definitions": {
265
+ "DynamoGlobalIndexes": {
266
+ "additionalProperties": {
267
+ "$ref": "#/definitions/globalIndexes%24%5Bkey%3A%20string%5D"
268
+ },
269
+ "description": "DynamoDB global secondary indexes definition",
270
+ "type": "object"
271
+ },
272
+ "credentials": {
273
+ "additionalProperties": false,
274
+ "description": "Static credentials, default to the AWS environment variables",
275
+ "properties": {
276
+ "accessKeyId": {
277
+ "type": "string"
278
+ },
279
+ "secretAccessKey": {
280
+ "type": "string"
281
+ },
282
+ "sessionToken": {
283
+ "type": "string"
284
+ }
285
+ },
286
+ "required": [
287
+ "accessKeyId",
288
+ "secretAccessKey"
289
+ ],
290
+ "type": "object"
291
+ },
292
+ "globalIndexes$[key: string]": {
293
+ "additionalProperties": false,
294
+ "properties": {
295
+ "key": {
296
+ "description": "Hash key of the index",
297
+ "type": "string"
298
+ },
299
+ "sort": {
300
+ "description": "Range key of the index",
301
+ "type": "string"
302
+ }
303
+ },
304
+ "required": [
305
+ "key"
306
+ ],
307
+ "type": "object"
308
+ },
309
+ "modelAliases": {
310
+ "additionalProperties": {
311
+ "type": "string"
312
+ },
313
+ "description": "Model Aliases to allow easier rename of Model",
314
+ "type": "object"
315
+ },
316
+ "tables": {
317
+ "additionalProperties": {
318
+ "type": "string"
319
+ },
320
+ "description": "Per-model table name overrides, keyed by model identifier\n\nModels not listed use `table`",
321
+ "type": "object"
322
+ }
323
+ },
324
+ "description": "Define DynamoDB parameters",
325
+ "properties": {
326
+ "CloudFormation": {
327
+ "description": "CloudFormation customization"
328
+ },
329
+ "CloudFormationSkip": {
330
+ "default": false,
331
+ "description": "Skip CloudFormation on deploy",
332
+ "type": "boolean"
333
+ },
334
+ "credentials": {
335
+ "$ref": "#/definitions/credentials",
336
+ "description": "Static credentials, default to the AWS environment variables"
337
+ },
338
+ "defaultModel": {
339
+ "default": true,
340
+ "description": "When __type model not found, use the model\nIf strict is setup this parameter is not used",
341
+ "type": "boolean"
342
+ },
343
+ "endpoint": {
344
+ "description": "Custom endpoint (localstack, minio, ...)",
128
345
  "type": "string"
129
346
  },
130
- "description": "Additional models\n\nAllow this store to manage other models",
131
- "default": []
132
- },
133
- "strict": {
134
- "type": "boolean",
135
- "description": "Allow to load object that does not have the type data\n\nIf set to true, then the Store will only managed the defined _model and no model extending this one",
136
- "default": false
137
- },
138
- "defaultModel": {
139
- "type": "boolean",
140
- "description": "When __type model not found, use the model If strict is setup this parameter is not used",
141
- "default": true
142
- },
143
- "forceModel": {
144
- "type": "boolean",
145
- "description": "If set, Store will ignore the __type",
146
- "default": false
147
- },
148
- "slowQueryThreshold": {
149
- "type": "number",
150
- "description": "Slow query threshold",
151
- "default": 30000
152
- },
153
- "modelAliases": {
154
- "type": "object",
155
- "additionalProperties": {
347
+ "forceModel": {
348
+ "default": false,
349
+ "description": "If set, Store will ignore the __type",
350
+ "type": "boolean"
351
+ },
352
+ "globalIndexes": {
353
+ "$ref": "#/definitions/DynamoGlobalIndexes",
354
+ "description": "Additional global indexes"
355
+ },
356
+ "modelAliases": {
357
+ "$ref": "#/definitions/modelAliases",
358
+ "description": "Model Aliases to allow easier rename of Model"
359
+ },
360
+ "models": {
361
+ "default": [
362
+ "Webda/RegistryEntry"
363
+ ],
364
+ "description": "Models managed by this Store.",
365
+ "items": {
366
+ "type": "string"
367
+ },
368
+ "type": "array"
369
+ },
370
+ "noCache": {
371
+ "default": false,
372
+ "description": "Disable default memory cache",
373
+ "type": "boolean"
374
+ },
375
+ "region": {
376
+ "default": "us-east-1",
377
+ "description": "AWS region",
156
378
  "type": "string"
157
379
  },
158
- "description": "Model Aliases to allow easier rename of Model"
159
- },
160
- "noCache": {
161
- "type": "boolean",
162
- "description": "Disable default memory cache"
163
- },
164
- "openapi": {
165
- "type": "object",
166
- "additionalProperties": true
167
- }
380
+ "scanPage": {
381
+ "description": "Number of items to retrieve per scan page",
382
+ "type": "number"
383
+ },
384
+ "slowQueryThreshold": {
385
+ "default": 30000,
386
+ "description": "Slow query threshold",
387
+ "type": "number"
388
+ },
389
+ "strict": {
390
+ "default": false,
391
+ "description": "Allow to load object that does not have the type data\n\nIf set to true, then the Store will only managed the defined _model and no\nmodel extending this one",
392
+ "type": "boolean"
393
+ },
394
+ "table": {
395
+ "description": "Table name",
396
+ "type": "string"
397
+ },
398
+ "tables": {
399
+ "$ref": "#/definitions/tables",
400
+ "description": "Per-model table name overrides, keyed by model identifier\n\nModels not listed use `table`"
401
+ },
402
+ "type": {
403
+ "description": "Type of the service",
404
+ "type": "string"
405
+ },
406
+ "openapi": {
407
+ "type": "object",
408
+ "additionalProperties": true
409
+ }
410
+ },
411
+ "required": [
412
+ "table",
413
+ "type"
414
+ ],
415
+ "type": "object",
416
+ "title": "DynamoStore"
168
417
  },
169
- "required": [
170
- "slowQueryThreshold",
171
- "type"
172
- ],
173
- "description": "Store parameter",
174
- "$schema": "http://json-schema.org/draft-07/schema#",
175
- "title": "DynamoStore"
418
+ "Configuration": "lib/services/dynamodb.service:DynamoStoreParameters"
176
419
  },
177
420
  "Webda/LambdaCaller": {
178
- "type": "object",
179
- "properties": {
180
- "type": {
181
- "type": "string",
182
- "description": "Type of the service"
183
- },
184
- "url": {
185
- "type": "string",
186
- "description": "URL on which to serve the content"
187
- },
188
- "actions": {
189
- "type": "array",
190
- "items": {
421
+ "Import": "lib/services/lambdacaller.service:LambdaCaller",
422
+ "Schema": {
423
+ "$schema": "http://json-schema.org/draft-07/schema#",
424
+ "additionalProperties": false,
425
+ "definitions": {
426
+ "credentials": {
427
+ "additionalProperties": false,
428
+ "description": "Static credentials, default to the AWS environment variables",
429
+ "properties": {
430
+ "accessKeyId": {
431
+ "type": "string"
432
+ },
433
+ "secretAccessKey": {
434
+ "type": "string"
435
+ },
436
+ "sessionToken": {
437
+ "type": "string"
438
+ }
439
+ },
440
+ "required": [
441
+ "accessKeyId",
442
+ "secretAccessKey"
443
+ ],
444
+ "type": "object"
445
+ }
446
+ },
447
+ "description": "LambdaCaller parameters",
448
+ "properties": {
449
+ "actions": {
450
+ "default": [],
451
+ "description": "Actions managed by the runner",
452
+ "items": {
453
+ "type": "string"
454
+ },
455
+ "type": "array"
456
+ },
457
+ "arn": {
458
+ "description": "Default ARN to use",
191
459
  "type": "string"
192
460
  },
193
- "description": "Actions managed by the runner",
194
- "default": []
195
- },
196
- "openapi": {
197
- "type": "object",
198
- "additionalProperties": true
199
- }
461
+ "credentials": {
462
+ "$ref": "#/definitions/credentials",
463
+ "description": "Static credentials, default to the AWS environment variables"
464
+ },
465
+ "endpoint": {
466
+ "description": "Custom endpoint (localstack, minio, ...)",
467
+ "type": "string"
468
+ },
469
+ "region": {
470
+ "default": "us-east-1",
471
+ "description": "AWS region",
472
+ "type": "string"
473
+ },
474
+ "type": {
475
+ "description": "Type of the service",
476
+ "type": "string"
477
+ },
478
+ "openapi": {
479
+ "type": "object",
480
+ "additionalProperties": true
481
+ }
482
+ },
483
+ "required": [
484
+ "arn",
485
+ "type"
486
+ ],
487
+ "type": "object",
488
+ "title": "LambdaCaller"
200
489
  },
201
- "required": [
202
- "type"
203
- ],
204
- "$schema": "http://json-schema.org/draft-07/schema#",
205
- "title": "LambdaCaller"
490
+ "Configuration": "lib/services/lambdacaller.service:LambdaCallerParameters"
491
+ },
492
+ "Webda/LambdaServer": {
493
+ "Import": "lib/services/lambdaserver.service:LambdaServer",
494
+ "Schema": {
495
+ "$schema": "http://json-schema.org/draft-07/schema#",
496
+ "additionalProperties": false,
497
+ "description": "LambdaServer parameters",
498
+ "properties": {
499
+ "lambdaRequestHeader": {
500
+ "description": "Header to add to the response with the Lambda request id",
501
+ "type": "string"
502
+ },
503
+ "type": {
504
+ "description": "Type of the service",
505
+ "type": "string"
506
+ },
507
+ "waitForEmptyEventLoop": {
508
+ "default": false,
509
+ "description": "Set the Lambda callbackWaitsForEmptyEventLoop",
510
+ "type": "boolean"
511
+ },
512
+ "openapi": {
513
+ "type": "object",
514
+ "additionalProperties": true
515
+ }
516
+ },
517
+ "required": [
518
+ "type"
519
+ ],
520
+ "type": "object",
521
+ "title": "LambdaServer"
522
+ },
523
+ "Configuration": "lib/services/lambdaserver.service:LambdaServerParameters"
206
524
  },
207
525
  "Webda/S3Binary": {
208
- "type": "object",
209
- "properties": {
210
- "type": {
211
- "type": "string",
212
- "description": "Type of the service"
213
- },
214
- "url": {
215
- "type": "string",
216
- "description": "URL on which to serve the content"
217
- },
218
- "models": {
219
- "type": "object",
220
- "additionalProperties": {
221
- "type": "array",
222
- "items": {
223
- "type": "string"
224
- }
526
+ "Import": "lib/services/s3binary.service:S3Binary",
527
+ "Schema": {
528
+ "$schema": "http://json-schema.org/draft-07/schema#",
529
+ "additionalProperties": false,
530
+ "definitions": {
531
+ "credentials": {
532
+ "additionalProperties": false,
533
+ "description": "Static credentials, default to the AWS environment variables",
534
+ "properties": {
535
+ "accessKeyId": {
536
+ "type": "string"
537
+ },
538
+ "secretAccessKey": {
539
+ "type": "string"
540
+ },
541
+ "sessionToken": {
542
+ "type": "string"
543
+ }
544
+ },
545
+ "required": [
546
+ "accessKeyId",
547
+ "secretAccessKey"
548
+ ],
549
+ "type": "object"
225
550
  },
226
- "description": "Define the map of models\n* indicates all models\n\nkey is a Store name the string[] represent all valids attributes to store files in * indicates all attributes"
227
- },
228
- "maxFileSize": {
229
- "type": "number",
230
- "description": "Define the maximum filesize to accept as direct upload",
231
- "default": "10*1024*1024"
232
- },
233
- "prefix": {
234
- "type": "string"
235
- },
236
- "openapi": {
237
- "type": "object",
238
- "additionalProperties": true
239
- }
551
+ "models": {
552
+ "additionalProperties": {
553
+ "items": {
554
+ "type": "string"
555
+ },
556
+ "type": "array"
557
+ },
558
+ "description": "Define the map of models\n* indicates all models\n\nkey is a Store name\nthe string[] represent all valids attributes to store files in * indicates all attributes",
559
+ "type": "object"
560
+ }
561
+ },
562
+ "description": "S3Binary parameters",
563
+ "properties": {
564
+ "CloudFormation": {
565
+ "description": "CloudFormation customization"
566
+ },
567
+ "CloudFormationSkip": {
568
+ "default": false,
569
+ "description": "Skip CloudFormation on deploy",
570
+ "type": "boolean"
571
+ },
572
+ "bucket": {
573
+ "description": "Bucket to store the binaries in",
574
+ "type": "string"
575
+ },
576
+ "credentials": {
577
+ "$ref": "#/definitions/credentials",
578
+ "description": "Static credentials, default to the AWS environment variables"
579
+ },
580
+ "endpoint": {
581
+ "description": "Custom endpoint (localstack, minio, ...)",
582
+ "type": "string"
583
+ },
584
+ "forcePathStyle": {
585
+ "default": false,
586
+ "description": "Use path style url (required by localstack/minio)",
587
+ "type": "boolean"
588
+ },
589
+ "maxFileSize": {
590
+ "default": "10 MB",
591
+ "description": "Define the maximum filesize to accept as direct upload\nGet the max file size in bytes",
592
+ "returns": "the result number",
593
+ "type": "number"
594
+ },
595
+ "models": {
596
+ "$ref": "#/definitions/models",
597
+ "description": "Define the map of models\n* indicates all models\n\nkey is a Store name\nthe string[] represent all valids attributes to store files in * indicates all attributes"
598
+ },
599
+ "prefix": {
600
+ "type": "string"
601
+ },
602
+ "region": {
603
+ "default": "us-east-1",
604
+ "description": "AWS region",
605
+ "type": "string"
606
+ },
607
+ "type": {
608
+ "description": "Type of the service",
609
+ "type": "string"
610
+ },
611
+ "openapi": {
612
+ "type": "object",
613
+ "additionalProperties": true
614
+ }
615
+ },
616
+ "required": [
617
+ "bucket",
618
+ "models",
619
+ "type"
620
+ ],
621
+ "type": "object",
622
+ "title": "S3Binary"
240
623
  },
241
- "required": [
242
- "models",
243
- "type"
244
- ],
245
- "description": "Default binary parameters",
246
- "$schema": "http://json-schema.org/draft-07/schema#",
247
- "title": "S3Binary"
624
+ "Configuration": "lib/services/s3binary.service:S3BinaryParameters"
248
625
  },
249
626
  "Webda/SQSQueue": {
250
- "type": "object",
251
- "properties": {
252
- "type": {
253
- "type": "string",
254
- "description": "Type of the service"
255
- },
256
- "url": {
257
- "type": "string",
258
- "description": "URL on which to serve the content"
259
- },
260
- "workerDelayer": {
261
- "type": "object",
262
- "properties": {
263
- "interval": {
264
- "type": "number",
265
- "description": "Interval"
627
+ "Import": "lib/services/sqsqueue.service:default",
628
+ "Schema": {
629
+ "$schema": "http://json-schema.org/draft-07/schema#",
630
+ "additionalProperties": false,
631
+ "definitions": {
632
+ "WaitDelayerDefinition": {
633
+ "additionalProperties": false,
634
+ "description": "Configuration object for selecting and parameterizing a `WaitDelayer` from the registry.",
635
+ "properties": {
636
+ "interval": {
637
+ "description": "Base interval in milliseconds passed to the delayer factory.",
638
+ "type": "number"
639
+ },
640
+ "type": {
641
+ "description": "Key identifying the factory in `WaitDelayerFactories.registry` (e.g. `\"linear\"`, `\"exponential\"`).",
642
+ "type": "string"
643
+ }
266
644
  },
267
- "type": {
268
- "type": "string",
269
- "description": "Type of delayer registered in WaitDelayerFactoryRegistry"
270
- }
645
+ "required": [
646
+ "interval",
647
+ "type"
648
+ ],
649
+ "type": "object"
271
650
  },
272
- "required": [
273
- "interval",
274
- "type"
275
- ],
276
- "description": "Delayer between two failed attempts to process messages"
277
- },
278
- "workerParallelism": {
279
- "type": "boolean",
280
- "description": "Define if worker should process multi message received in //",
281
- "default": true
282
- },
283
- "maxConsumers": {
284
- "type": "number",
285
- "description": "Max number of queue consumers Queue will auto increase to this max number if queue is loaded and it will decrease to just one consumer if no messages are available",
286
- "default": 10
287
- },
288
- "openapi": {
289
- "type": "object",
290
- "additionalProperties": true
291
- }
651
+ "credentials": {
652
+ "additionalProperties": false,
653
+ "description": "Static credentials, default to the AWS environment variables",
654
+ "properties": {
655
+ "accessKeyId": {
656
+ "type": "string"
657
+ },
658
+ "secretAccessKey": {
659
+ "type": "string"
660
+ },
661
+ "sessionToken": {
662
+ "type": "string"
663
+ }
664
+ },
665
+ "required": [
666
+ "accessKeyId",
667
+ "secretAccessKey"
668
+ ],
669
+ "type": "object"
670
+ }
671
+ },
672
+ "description": "SQS Queue parameters",
673
+ "properties": {
674
+ "CloudFormation": {
675
+ "description": "Any additional CloudFormation parameters"
676
+ },
677
+ "CloudFormationSkip": {
678
+ "default": false,
679
+ "description": "Skip CloudFormation on deploy",
680
+ "type": "boolean"
681
+ },
682
+ "MessageGroupId": {
683
+ "description": "MessageGroupId to pass to send and receive",
684
+ "type": "string"
685
+ },
686
+ "WaitTimeSeconds": {
687
+ "default": 20,
688
+ "description": "Time to wait pending for an item",
689
+ "type": "number"
690
+ },
691
+ "credentials": {
692
+ "$ref": "#/definitions/credentials",
693
+ "description": "Static credentials, default to the AWS environment variables"
694
+ },
695
+ "endpoint": {
696
+ "description": "Custom endpoint (localstack, minio, ...)",
697
+ "type": "string"
698
+ },
699
+ "maxConsumers": {
700
+ "default": 10,
701
+ "description": "Max number of queue consumers\nQueue will auto increase to this max number if queue is loaded\nand it will decrease to just one consumer if no messages are available",
702
+ "type": "number"
703
+ },
704
+ "queue": {
705
+ "default": "",
706
+ "description": "Queue URL",
707
+ "type": "string"
708
+ },
709
+ "region": {
710
+ "default": "us-east-1",
711
+ "description": "AWS region",
712
+ "type": "string"
713
+ },
714
+ "type": {
715
+ "description": "Type of the service",
716
+ "type": "string"
717
+ },
718
+ "workerDelayer": {
719
+ "$ref": "#/definitions/WaitDelayerDefinition",
720
+ "description": "Delayer between two failed attempts to process messages"
721
+ },
722
+ "workerParallelism": {
723
+ "default": true,
724
+ "description": "Define if worker should process multi message received in //",
725
+ "type": "boolean"
726
+ },
727
+ "openapi": {
728
+ "type": "object",
729
+ "additionalProperties": true
730
+ }
731
+ },
732
+ "required": [
733
+ "type"
734
+ ],
735
+ "type": "object",
736
+ "title": "SQSQueue"
292
737
  },
293
- "required": [
294
- "maxConsumers",
295
- "type"
296
- ],
738
+ "Configuration": "lib/services/sqsqueue.service:SQSQueueParameters"
739
+ }
740
+ },
741
+ "models": {},
742
+ "schemas": {
743
+ "Webda/BinaryFile": {
297
744
  "$schema": "http://json-schema.org/draft-07/schema#",
298
- "title": "SQSQueue"
299
- },
300
- "WebdaAWSDeployer/CloudFormation": {
301
- "type": "object",
745
+ "WebdaSchema": true,
746
+ "additionalProperties": false,
747
+ "description": "Represent a file to store",
302
748
  "properties": {
303
- "name": {
749
+ "challenge": {
750
+ "description": "Will be computed by the service\n\nhash of the content prefixed by 'WEBDA'",
304
751
  "type": "string"
305
752
  },
306
- "type": {
753
+ "hash": {
754
+ "description": "Will be computed by the service\n\nhash of the content",
307
755
  "type": "string"
308
- }
309
- },
310
- "$schema": "http://json-schema.org/draft-07/schema#",
311
- "title": "LambdaPackager"
312
- },
313
- "WebdaAWSDeployer/LambdaPackager": {
314
- "type": "object",
315
- "properties": {
756
+ },
757
+ "metadata": {
758
+ "description": "Metadatas stored along with the binary"
759
+ },
760
+ "mimetype": {
761
+ "description": "Mimetype of the binary",
762
+ "type": "string"
763
+ },
316
764
  "name": {
765
+ "description": "Current name",
317
766
  "type": "string"
318
767
  },
319
- "type": {
768
+ "originalname": {
769
+ "description": "Original name",
320
770
  "type": "string"
771
+ },
772
+ "size": {
773
+ "description": "Size of the binary",
774
+ "type": "number"
321
775
  }
322
776
  },
323
- "$schema": "http://json-schema.org/draft-07/schema#",
324
- "title": "LambdaPackager"
777
+ "required": [
778
+ "mimetype",
779
+ "name",
780
+ "size"
781
+ ],
782
+ "type": "object",
783
+ "title": "BinaryFile"
325
784
  }
785
+ },
786
+ "behaviors": {},
787
+ "capabilities": {
788
+ "aws-commands": "Webda/AWSCommands"
326
789
  }
327
790
  }