@backstage/plugin-catalog-backend-module-aws 0.4.24 → 0.4.25-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @backstage/plugin-catalog-backend-module-aws
2
2
 
3
+ ## 0.4.25-next.0
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @backstage/backend-defaults@0.17.4-next.0
9
+ - @backstage/backend-plugin-api@1.9.3-next.0
10
+ - @backstage/plugin-catalog-node@2.2.3-next.0
11
+
3
12
  ## 0.4.24
4
13
 
5
14
  ### Patch Changes
@@ -0,0 +1,412 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "type": "object",
4
+ "properties": {
5
+ "catalog": {
6
+ "type": "object",
7
+ "properties": {
8
+ "processors": {
9
+ "type": "object",
10
+ "properties": {
11
+ "awsOrganization": {
12
+ "type": "object",
13
+ "properties": {
14
+ "provider": {
15
+ "type": "object",
16
+ "properties": {
17
+ "roleArn": {
18
+ "type": "string",
19
+ "description": "The role to be assumed by this processor",
20
+ "deprecated": "Use `accountId` instead."
21
+ },
22
+ "accountId": {
23
+ "type": "string",
24
+ "description": "The AWS account ID to query for organizational data"
25
+ }
26
+ }
27
+ }
28
+ },
29
+ "required": [
30
+ "provider"
31
+ ],
32
+ "description": "AwsOrganizationCloudAccountProcessor configuration"
33
+ }
34
+ }
35
+ },
36
+ "providers": {
37
+ "type": "object",
38
+ "properties": {
39
+ "awsS3": {
40
+ "anyOf": [
41
+ {
42
+ "type": "object",
43
+ "properties": {
44
+ "bucketName": {
45
+ "type": "string",
46
+ "description": "(Required) AWS S3 Bucket Name"
47
+ },
48
+ "prefix": {
49
+ "type": "string",
50
+ "description": "(Optional) AWS S3 Object key prefix If not set, all keys will be accepted, no filtering will be applied."
51
+ },
52
+ "region": {
53
+ "type": "string",
54
+ "description": "(Optional) AWS Region. If not set, AWS_REGION environment variable or aws config file will be used."
55
+ },
56
+ "accountId": {
57
+ "type": "string",
58
+ "description": "(Optional) AWS Account id. If not set, main account is used."
59
+ },
60
+ "schedule": {
61
+ "type": "object",
62
+ "properties": {
63
+ "frequency": {
64
+ "anyOf": [
65
+ {
66
+ "type": "object",
67
+ "properties": {
68
+ "cron": {
69
+ "type": "string",
70
+ "description": "A crontab style string."
71
+ }
72
+ },
73
+ "required": [
74
+ "cron"
75
+ ]
76
+ },
77
+ {
78
+ "type": "string"
79
+ },
80
+ {
81
+ "type": "object",
82
+ "properties": {
83
+ "years": {
84
+ "type": "number"
85
+ },
86
+ "months": {
87
+ "type": "number"
88
+ },
89
+ "weeks": {
90
+ "type": "number"
91
+ },
92
+ "days": {
93
+ "type": "number"
94
+ },
95
+ "hours": {
96
+ "type": "number"
97
+ },
98
+ "minutes": {
99
+ "type": "number"
100
+ },
101
+ "seconds": {
102
+ "type": "number"
103
+ },
104
+ "milliseconds": {
105
+ "type": "number"
106
+ }
107
+ },
108
+ "description": "Human friendly durations object."
109
+ },
110
+ {
111
+ "type": "object",
112
+ "properties": {
113
+ "trigger": {
114
+ "type": "string",
115
+ "const": "manual"
116
+ }
117
+ },
118
+ "required": [
119
+ "trigger"
120
+ ]
121
+ }
122
+ ],
123
+ "description": "How often you want the task to run. The system does its best to avoid overlapping invocations."
124
+ },
125
+ "timeout": {
126
+ "anyOf": [
127
+ {
128
+ "type": "string"
129
+ },
130
+ {
131
+ "type": "object",
132
+ "properties": {
133
+ "years": {
134
+ "type": "number"
135
+ },
136
+ "months": {
137
+ "type": "number"
138
+ },
139
+ "weeks": {
140
+ "type": "number"
141
+ },
142
+ "days": {
143
+ "type": "number"
144
+ },
145
+ "hours": {
146
+ "type": "number"
147
+ },
148
+ "minutes": {
149
+ "type": "number"
150
+ },
151
+ "seconds": {
152
+ "type": "number"
153
+ },
154
+ "milliseconds": {
155
+ "type": "number"
156
+ }
157
+ },
158
+ "description": "Human friendly durations object."
159
+ }
160
+ ],
161
+ "description": "The maximum amount of time that a single task invocation can take, before it's considered timed out and gets \"released\" such that a new invocation is permitted to take place (possibly, then, on a different worker)."
162
+ },
163
+ "initialDelay": {
164
+ "anyOf": [
165
+ {
166
+ "type": "string"
167
+ },
168
+ {
169
+ "type": "object",
170
+ "properties": {
171
+ "years": {
172
+ "type": "number"
173
+ },
174
+ "months": {
175
+ "type": "number"
176
+ },
177
+ "weeks": {
178
+ "type": "number"
179
+ },
180
+ "days": {
181
+ "type": "number"
182
+ },
183
+ "hours": {
184
+ "type": "number"
185
+ },
186
+ "minutes": {
187
+ "type": "number"
188
+ },
189
+ "seconds": {
190
+ "type": "number"
191
+ },
192
+ "milliseconds": {
193
+ "type": "number"
194
+ }
195
+ },
196
+ "description": "Human friendly durations object."
197
+ }
198
+ ],
199
+ "description": "The amount of time that should pass before the first invocation happens."
200
+ },
201
+ "scope": {
202
+ "type": "string",
203
+ "enum": [
204
+ "global",
205
+ "local"
206
+ ],
207
+ "description": "Sets the scope of concurrency control / locking to apply for invocations of this task."
208
+ }
209
+ },
210
+ "required": [
211
+ "frequency",
212
+ "timeout"
213
+ ],
214
+ "description": "(Optional) TaskScheduleDefinition for the refresh."
215
+ }
216
+ },
217
+ "required": [
218
+ "bucketName"
219
+ ]
220
+ },
221
+ {
222
+ "type": "object",
223
+ "additionalProperties": {
224
+ "type": "object",
225
+ "properties": {
226
+ "bucketName": {
227
+ "type": "string",
228
+ "description": "(Required) AWS S3 Bucket Name"
229
+ },
230
+ "prefix": {
231
+ "type": "string",
232
+ "description": "(Optional) AWS S3 Object key prefix If not set, all keys will be accepted, no filtering will be applied."
233
+ },
234
+ "region": {
235
+ "type": "string",
236
+ "description": "(Optional) AWS Region. If not set, AWS_REGION environment variable or aws config file will be used."
237
+ },
238
+ "accountId": {
239
+ "type": "string",
240
+ "description": "(Optional) AWS Account id. If not set, main account is used."
241
+ },
242
+ "schedule": {
243
+ "type": "object",
244
+ "properties": {
245
+ "frequency": {
246
+ "anyOf": [
247
+ {
248
+ "type": "object",
249
+ "properties": {
250
+ "cron": {
251
+ "type": "string",
252
+ "description": "A crontab style string."
253
+ }
254
+ },
255
+ "required": [
256
+ "cron"
257
+ ]
258
+ },
259
+ {
260
+ "type": "string"
261
+ },
262
+ {
263
+ "type": "object",
264
+ "properties": {
265
+ "years": {
266
+ "type": "number"
267
+ },
268
+ "months": {
269
+ "type": "number"
270
+ },
271
+ "weeks": {
272
+ "type": "number"
273
+ },
274
+ "days": {
275
+ "type": "number"
276
+ },
277
+ "hours": {
278
+ "type": "number"
279
+ },
280
+ "minutes": {
281
+ "type": "number"
282
+ },
283
+ "seconds": {
284
+ "type": "number"
285
+ },
286
+ "milliseconds": {
287
+ "type": "number"
288
+ }
289
+ },
290
+ "description": "Human friendly durations object."
291
+ },
292
+ {
293
+ "type": "object",
294
+ "properties": {
295
+ "trigger": {
296
+ "type": "string",
297
+ "const": "manual"
298
+ }
299
+ },
300
+ "required": [
301
+ "trigger"
302
+ ]
303
+ }
304
+ ],
305
+ "description": "How often you want the task to run. The system does its best to avoid overlapping invocations."
306
+ },
307
+ "timeout": {
308
+ "anyOf": [
309
+ {
310
+ "type": "string"
311
+ },
312
+ {
313
+ "type": "object",
314
+ "properties": {
315
+ "years": {
316
+ "type": "number"
317
+ },
318
+ "months": {
319
+ "type": "number"
320
+ },
321
+ "weeks": {
322
+ "type": "number"
323
+ },
324
+ "days": {
325
+ "type": "number"
326
+ },
327
+ "hours": {
328
+ "type": "number"
329
+ },
330
+ "minutes": {
331
+ "type": "number"
332
+ },
333
+ "seconds": {
334
+ "type": "number"
335
+ },
336
+ "milliseconds": {
337
+ "type": "number"
338
+ }
339
+ },
340
+ "description": "Human friendly durations object."
341
+ }
342
+ ],
343
+ "description": "The maximum amount of time that a single task invocation can take, before it's considered timed out and gets \"released\" such that a new invocation is permitted to take place (possibly, then, on a different worker)."
344
+ },
345
+ "initialDelay": {
346
+ "anyOf": [
347
+ {
348
+ "type": "string"
349
+ },
350
+ {
351
+ "type": "object",
352
+ "properties": {
353
+ "years": {
354
+ "type": "number"
355
+ },
356
+ "months": {
357
+ "type": "number"
358
+ },
359
+ "weeks": {
360
+ "type": "number"
361
+ },
362
+ "days": {
363
+ "type": "number"
364
+ },
365
+ "hours": {
366
+ "type": "number"
367
+ },
368
+ "minutes": {
369
+ "type": "number"
370
+ },
371
+ "seconds": {
372
+ "type": "number"
373
+ },
374
+ "milliseconds": {
375
+ "type": "number"
376
+ }
377
+ },
378
+ "description": "Human friendly durations object."
379
+ }
380
+ ],
381
+ "description": "The amount of time that should pass before the first invocation happens."
382
+ },
383
+ "scope": {
384
+ "type": "string",
385
+ "enum": [
386
+ "global",
387
+ "local"
388
+ ],
389
+ "description": "Sets the scope of concurrency control / locking to apply for invocations of this task."
390
+ }
391
+ },
392
+ "required": [
393
+ "frequency",
394
+ "timeout"
395
+ ],
396
+ "description": "(Optional) TaskScheduleDefinition for the refresh."
397
+ }
398
+ },
399
+ "required": [
400
+ "bucketName"
401
+ ]
402
+ }
403
+ }
404
+ ],
405
+ "description": "AwsS3EntityProvider configuration\n\nUses \"default\" as default id for the single config variant."
406
+ }
407
+ }
408
+ }
409
+ }
410
+ }
411
+ }
412
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@backstage/plugin-catalog-backend-module-aws",
3
- "version": "0.4.24",
3
+ "version": "0.4.25-next.0",
4
4
  "description": "A Backstage catalog backend module that helps integrate towards AWS",
5
5
  "backstage": {
6
6
  "role": "backend-plugin-module",
@@ -52,7 +52,7 @@
52
52
  }
53
53
  },
54
54
  "files": [
55
- "config.d.ts",
55
+ "config.schema.json",
56
56
  "dist"
57
57
  ],
58
58
  "scripts": {
@@ -70,25 +70,25 @@
70
70
  "@aws-sdk/client-s3": "^3.350.0",
71
71
  "@aws-sdk/middleware-endpoint": "^3.347.0",
72
72
  "@aws-sdk/types": "^3.347.0",
73
- "@backstage/backend-defaults": "^0.17.3",
74
- "@backstage/backend-plugin-api": "^1.9.2",
75
- "@backstage/catalog-model": "^1.9.0",
76
- "@backstage/config": "^1.3.8",
77
- "@backstage/errors": "^1.3.1",
78
- "@backstage/integration": "^2.0.3",
79
- "@backstage/integration-aws-node": "^0.2.0",
80
- "@backstage/plugin-catalog-common": "^1.1.10",
81
- "@backstage/plugin-catalog-node": "^2.2.2",
82
- "@backstage/plugin-kubernetes-common": "^0.9.12",
73
+ "@backstage/backend-defaults": "0.17.4-next.0",
74
+ "@backstage/backend-plugin-api": "1.9.3-next.0",
75
+ "@backstage/catalog-model": "1.9.0",
76
+ "@backstage/config": "1.3.8",
77
+ "@backstage/errors": "1.3.1",
78
+ "@backstage/integration": "2.0.3",
79
+ "@backstage/integration-aws-node": "0.2.0",
80
+ "@backstage/plugin-catalog-common": "1.1.10",
81
+ "@backstage/plugin-catalog-node": "2.2.3-next.0",
82
+ "@backstage/plugin-kubernetes-common": "0.9.12",
83
83
  "p-limit": "^3.0.2"
84
84
  },
85
85
  "devDependencies": {
86
86
  "@aws-sdk/util-stream-node": "^3.350.0",
87
- "@backstage/backend-test-utils": "^1.11.4",
88
- "@backstage/cli": "^0.36.3",
87
+ "@backstage/backend-test-utils": "1.11.5-next.0",
88
+ "@backstage/cli": "0.36.4-next.0",
89
89
  "aws-sdk-client-mock": "^4.0.0",
90
90
  "aws-sdk-client-mock-jest": "^4.0.0",
91
91
  "yaml": "^2.0.0"
92
92
  },
93
- "configSchema": "config.d.ts"
93
+ "configSchema": "config.schema.json"
94
94
  }
package/config.d.ts DELETED
@@ -1,105 +0,0 @@
1
- /*
2
- * Copyright 2020 The Backstage Authors
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import { SchedulerServiceTaskScheduleDefinitionConfig } from '@backstage/backend-plugin-api';
18
-
19
- export interface Config {
20
- catalog?: {
21
- processors?: {
22
- /**
23
- * AwsOrganizationCloudAccountProcessor configuration
24
- */
25
- awsOrganization?: {
26
- provider: {
27
- /**
28
- * The role to be assumed by this processor
29
- * @deprecated Use `accountId` instead.
30
- */
31
- roleArn?: string;
32
-
33
- /**
34
- * The AWS account ID to query for organizational data
35
- */
36
- accountId?: string;
37
- };
38
- };
39
- };
40
- providers?: {
41
- /**
42
- * AwsS3EntityProvider configuration
43
- *
44
- * Uses "default" as default id for the single config variant.
45
- */
46
- awsS3?:
47
- | {
48
- /**
49
- * (Required) AWS S3 Bucket Name
50
- */
51
- bucketName: string;
52
- /**
53
- * (Optional) AWS S3 Object key prefix
54
- * If not set, all keys will be accepted, no filtering will be applied.
55
- */
56
- prefix?: string;
57
- /**
58
- * (Optional) AWS Region.
59
- * If not set, AWS_REGION environment variable or aws config file will be used.
60
- * @see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-region.html
61
- */
62
- region?: string;
63
- /**
64
- * (Optional) AWS Account id.
65
- * If not set, main account is used.
66
- * @see https://github.com/backstage/backstage/blob/master/packages/integration-aws-node/README.md
67
- */
68
- accountId?: string;
69
- /**
70
- * (Optional) TaskScheduleDefinition for the refresh.
71
- */
72
- schedule?: SchedulerServiceTaskScheduleDefinitionConfig;
73
- }
74
- | {
75
- [name: string]: {
76
- /**
77
- * (Required) AWS S3 Bucket Name
78
- */
79
- bucketName: string;
80
- /**
81
- * (Optional) AWS S3 Object key prefix
82
- * If not set, all keys will be accepted, no filtering will be applied.
83
- */
84
- prefix?: string;
85
- /**
86
- * (Optional) AWS Region.
87
- * If not set, AWS_REGION environment variable or aws config file will be used.
88
- * @see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-region.html
89
- */
90
- region?: string;
91
- /**
92
- * (Optional) AWS Account id.
93
- * If not set, main account is used.
94
- * @see https://github.com/backstage/backstage/blob/master/packages/integration-aws-node/README.md
95
- */
96
- accountId?: string;
97
- /**
98
- * (Optional) TaskScheduleDefinition for the refresh.
99
- */
100
- schedule?: SchedulerServiceTaskScheduleDefinitionConfig;
101
- };
102
- };
103
- };
104
- };
105
- }