@sw-tsdk/plugin-connector 2.11.2-alpha.39 → 2.11.2-next.101

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 (40) hide show
  1. package/README.md +223 -33
  2. package/lib/commands/component/create.d.ts +34 -0
  3. package/lib/commands/component/create.js +168 -0
  4. package/lib/commands/component/create.js.map +1 -0
  5. package/lib/commands/component/logo.d.ts +12 -0
  6. package/lib/commands/component/logo.js +63 -0
  7. package/lib/commands/component/logo.js.map +1 -0
  8. package/lib/commands/component/ssp.d.ts +12 -0
  9. package/lib/commands/component/ssp.js +64 -0
  10. package/lib/commands/component/ssp.js.map +1 -0
  11. package/lib/commands/component/update.d.ts +13 -0
  12. package/lib/commands/component/update.js +68 -0
  13. package/lib/commands/component/update.js.map +1 -0
  14. package/lib/commands/connector/build.js +1 -1
  15. package/lib/commands/connector/build.js.map +1 -1
  16. package/lib/commands/connector/create/openapi.js +12 -4
  17. package/lib/commands/connector/create/openapi.js.map +1 -1
  18. package/lib/commands/connector/create.d.ts +1 -0
  19. package/lib/commands/connector/create.js +39 -9
  20. package/lib/commands/connector/create.js.map +1 -1
  21. package/lib/commands/connector/logo.js +10 -1
  22. package/lib/commands/connector/logo.js.map +1 -1
  23. package/lib/commands/description/action.d.ts +12 -0
  24. package/lib/commands/description/action.js +87 -0
  25. package/lib/commands/description/action.js.map +1 -0
  26. package/lib/commands/description/actions.d.ts +11 -0
  27. package/lib/commands/description/actions.js +81 -0
  28. package/lib/commands/description/actions.js.map +1 -0
  29. package/lib/commands/description/component.d.ts +15 -0
  30. package/lib/commands/description/component.js +132 -0
  31. package/lib/commands/description/component.js.map +1 -0
  32. package/lib/commands/description/connector.d.ts +11 -0
  33. package/lib/commands/description/connector.js +81 -0
  34. package/lib/commands/description/connector.js.map +1 -0
  35. package/lib/common.d.ts +5 -0
  36. package/lib/common.js +85 -10
  37. package/lib/common.js.map +1 -1
  38. package/lib/types/connector-types.d.ts +25 -0
  39. package/oclif.manifest.json +448 -1
  40. package/package.json +14 -8
package/README.md CHANGED
@@ -16,7 +16,7 @@ $ npm install -g @sw-tsdk/plugin-connector
16
16
  $ sw-tsdk-connector COMMAND
17
17
  running command...
18
18
  $ sw-tsdk-connector (--version)
19
- @sw-tsdk/plugin-connector/2.11.2-alpha.39+5a332d5 linux-x64 node-v16.20.1
19
+ @sw-tsdk/plugin-connector/2.11.2-next.101+56f97ca linux-x64 node-v16.20.2
20
20
  $ sw-tsdk-connector --help [COMMAND]
21
21
  USAGE
22
22
  $ sw-tsdk-connector COMMAND
@@ -31,6 +31,10 @@ USAGE
31
31
  * [`sw-tsdk-connector action:generate:output`](#sw-tsdk-connector-actiongenerateoutput)
32
32
  * [`sw-tsdk-connector action:run:local`](#sw-tsdk-connector-actionrunlocal)
33
33
  * [`sw-tsdk-connector asset:add`](#sw-tsdk-connector-assetadd)
34
+ * [`sw-tsdk-connector component:create`](#sw-tsdk-connector-componentcreate)
35
+ * [`sw-tsdk-connector component:logo`](#sw-tsdk-connector-componentlogo)
36
+ * [`sw-tsdk-connector component:ssp`](#sw-tsdk-connector-componentssp)
37
+ * [`sw-tsdk-connector component:update`](#sw-tsdk-connector-componentupdate)
34
38
  * [`sw-tsdk-connector connector:build`](#sw-tsdk-connector-connectorbuild)
35
39
  * [`sw-tsdk-connector connector:create`](#sw-tsdk-connector-connectorcreate)
36
40
  * [`sw-tsdk-connector connector:create:openapi`](#sw-tsdk-connector-connectorcreateopenapi)
@@ -39,6 +43,10 @@ USAGE
39
43
  * [`sw-tsdk-connector connector:sign`](#sw-tsdk-connector-connectorsign)
40
44
  * [`sw-tsdk-connector connector:update`](#sw-tsdk-connector-connectorupdate)
41
45
  * [`sw-tsdk-connector connector:validate`](#sw-tsdk-connector-connectorvalidate)
46
+ * [`sw-tsdk-connector description:action`](#sw-tsdk-connector-descriptionaction)
47
+ * [`sw-tsdk-connector description:actions`](#sw-tsdk-connector-descriptionactions)
48
+ * [`sw-tsdk-connector description:component`](#sw-tsdk-connector-descriptioncomponent)
49
+ * [`sw-tsdk-connector description:connector`](#sw-tsdk-connector-descriptionconnector)
42
50
 
43
51
  ## `sw-tsdk-connector action:add`
44
52
 
@@ -58,7 +66,7 @@ DESCRIPTION
58
66
  Update a connector action.
59
67
  ```
60
68
 
61
- _See code: [lib/commands/action/add.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/action/add.js)_
69
+ _See code: [lib/commands/action/add.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/action/add.js)_
62
70
 
63
71
  ## `sw-tsdk-connector action:generate:data`
64
72
 
@@ -83,7 +91,7 @@ DESCRIPTION
83
91
  Use to test a task in an integration
84
92
  ```
85
93
 
86
- _See code: [lib/commands/action/generate/data.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/action/generate/data.js)_
94
+ _See code: [lib/commands/action/generate/data.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/action/generate/data.js)_
87
95
 
88
96
  ## `sw-tsdk-connector action:generate:input`
89
97
 
@@ -108,7 +116,7 @@ DESCRIPTION
108
116
  Update action input schema.
109
117
  ```
110
118
 
111
- _See code: [lib/commands/action/generate/input.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/action/generate/input.js)_
119
+ _See code: [lib/commands/action/generate/input.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/action/generate/input.js)_
112
120
 
113
121
  ## `sw-tsdk-connector action:generate:output`
114
122
 
@@ -132,7 +140,7 @@ DESCRIPTION
132
140
  Update a connector action.
133
141
  ```
134
142
 
135
- _See code: [lib/commands/action/generate/output.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/action/generate/output.js)_
143
+ _See code: [lib/commands/action/generate/output.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/action/generate/output.js)_
136
144
 
137
145
  ## `sw-tsdk-connector action:run:local`
138
146
 
@@ -161,7 +169,7 @@ DESCRIPTION
161
169
  Runs a connector action. (Defaults to current image version in local repository).
162
170
  ```
163
171
 
164
- _See code: [lib/commands/action/run/local.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/action/run/local.js)_
172
+ _See code: [lib/commands/action/run/local.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/action/run/local.js)_
165
173
 
166
174
  ## `sw-tsdk-connector asset:add`
167
175
 
@@ -182,7 +190,101 @@ DESCRIPTION
182
190
  Update a connector action.
183
191
  ```
184
192
 
185
- _See code: [lib/commands/asset/add.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/asset/add.js)_
193
+ _See code: [lib/commands/asset/add.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/asset/add.js)_
194
+
195
+ ## `sw-tsdk-connector component:create`
196
+
197
+ Scaffold a new Component
198
+
199
+ ```
200
+ USAGE
201
+ $ sw-tsdk-connector component:create [-d <value>] [--componentType <value>] [--vendor <value>] [--componentName
202
+ <value>] [--keywords <value>] [--description <value>] [--logoPath <value>] [--sspPath <value>] [--author <value>]
203
+ [--authorEmail <value>] [--homepage <value>] [-h]
204
+
205
+ FLAGS
206
+ -d, --directory=<value> [default: ./] root directory for where to store Component.
207
+ -h, --help Show CLI help.
208
+ --author=<value> Component Author
209
+ --authorEmail=<value> Component Author Email
210
+ --componentName=<value> Component Name (e.g. Alert Ingestion)
211
+ --componentType=<value> Component Type (e.g. classic)
212
+ --description=<value> Description (e.g. CrowdStrike Alert Ingestion Component)
213
+ --homepage=<value> Component Author Support URL
214
+ --keywords=<value> Enter keywords
215
+ --logoPath=<value> URL or absolute path to logo file
216
+ --sspPath=<value> absolute path to .ssp file
217
+ --vendor=<value> Vendor (e.g. CrowdStrike)
218
+
219
+ DESCRIPTION
220
+ Scaffold a new Component
221
+ ```
222
+
223
+ _See code: [lib/commands/component/create.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/component/create.js)_
224
+
225
+ ## `sw-tsdk-connector component:logo`
226
+
227
+ Update a Component logo.
228
+
229
+ ```
230
+ USAGE
231
+ $ sw-tsdk-connector component:logo [-d <value>] [-t <value>] [-n <value>] [-p <value>] [-h]
232
+
233
+ FLAGS
234
+ -d, --directory=<value> [default: ./] root directory of the component folder.
235
+ -h, --help Show CLI help.
236
+ -n, --componentName=<value> Component Name (e.g. google_alert_ingestion)
237
+ -p, --logoPath=<value> path or URL to product logo in PNG format.
238
+ -t, --componentType=<value> Component Type (e.g. classic)
239
+
240
+ DESCRIPTION
241
+ Update a Component logo.
242
+ ```
243
+
244
+ _See code: [lib/commands/component/logo.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/component/logo.js)_
245
+
246
+ ## `sw-tsdk-connector component:ssp`
247
+
248
+ Update an SSP.
249
+
250
+ ```
251
+ USAGE
252
+ $ sw-tsdk-connector component:ssp [-d <value>] [-t <value>] [-n <value>] [-p <value>] [-h]
253
+
254
+ FLAGS
255
+ -d, --directory=<value> [default: ./] root directory of the component folder.
256
+ -h, --help Show CLI help.
257
+ -n, --componentName=<value> Component Name (e.g. google_alert_ingestion)
258
+ -p, --sspPath=<value> Absolute path to .SSP file
259
+ -t, --componentType=<value> Component Type (e.g. classic)
260
+
261
+ DESCRIPTION
262
+ Update an SSP.
263
+ ```
264
+
265
+ _See code: [lib/commands/component/ssp.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/component/ssp.js)_
266
+
267
+ ## `sw-tsdk-connector component:update`
268
+
269
+ Update Component Version.
270
+
271
+ ```
272
+ USAGE
273
+ $ sw-tsdk-connector component:update [-d <value>] [-v <value>] [-t <value>] [-n <value>] [-f <value>] [-h]
274
+
275
+ FLAGS
276
+ -d, --directory=<value> [default: .] root directory of the all Components
277
+ -f, --manifestPath=<value> [default: manifest.yml] Component manifest path relative to directory.
278
+ -h, --help Show CLI help.
279
+ -n, --componentName=<value> Component Name (e.g. google_alert_ingestion)
280
+ -t, --componentType=<value> Component Type (e.g. classic)
281
+ -v, --version=<value> new version of the component.
282
+
283
+ DESCRIPTION
284
+ Update Component Version.
285
+ ```
286
+
287
+ _See code: [lib/commands/component/update.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/component/update.js)_
186
288
 
187
289
  ## `sw-tsdk-connector connector:build`
188
290
 
@@ -191,8 +293,9 @@ Builds a local docker image of the connector.
191
293
  ```
192
294
  USAGE
193
295
  $ sw-tsdk-connector connector:build [--template
194
- python_37_swimlane|node_18|node_20|python_39_definition|python_310_definition|python_311_definition] [-d <value>]
195
- [--save] [-f] [--signing-password <value>] [--key-name <value>] [--registry <value>] [-o <value>] [-h]
296
+ python_37_swimlane|node_18|node_20|python_39_definition|python_39_turbine|python_310_definition|python_311_definitio
297
+ n] [-d <value>] [--save] [-f] [--signing-password <value>] [--key-name <value>] [--registry <value>] [-o <value>]
298
+ [-h]
196
299
 
197
300
  FLAGS
198
301
  -d, --directory=<value> [default: ./] root directory of the repository.
@@ -204,14 +307,14 @@ FLAGS
204
307
  --save saves a signed docker image as tar in local directory.
205
308
  --signing-password=<value> password used for the private key (ENV: TURBINE_SIGNING_PASSWORD)
206
309
  --template=<option> connector language
207
- <options: python_37_swimlane|node_18|node_20|python_39_definition|python_310_definition|py
208
- thon_311_definition>
310
+ <options: python_37_swimlane|node_18|node_20|python_39_definition|python_39_turbine|python
311
+ _310_definition|python_311_definition>
209
312
 
210
313
  DESCRIPTION
211
314
  Builds a local docker image of the connector.
212
315
  ```
213
316
 
214
- _See code: [lib/commands/connector/build.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/build.js)_
317
+ _See code: [lib/commands/connector/build.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/build.js)_
215
318
 
216
319
  ## `sw-tsdk-connector connector:create`
217
320
 
@@ -221,28 +324,29 @@ Scaffold a new connector
221
324
  USAGE
222
325
  $ sw-tsdk-connector connector:create [-d <value>] [-t python_310_definition|python_311_definition|python_3]
223
326
  [--vendor <value>] [--product <value>] [--keywords <value>] [--description <value>] [--logoPath <value>] [--author
224
- <value>] [--authorEmail <value>] [--homepage <value>] [-h]
327
+ <value>] [--authorEmail <value>] [--homepage <value>] [-h] [--aspirationalConnector <value>]
225
328
 
226
329
  FLAGS
227
- -d, --directory=<value> [default: ./] root directory for where to store connectors, the connector directory will be
228
- generated.
229
- -h, --help Show CLI help.
230
- -t, --template=<option> [default: python_311_definition] connector template to scaffold
231
- <options: python_310_definition|python_311_definition|python_3>
232
- --author=<value> Connector Author
233
- --authorEmail=<value> Connector Author Email
234
- --description=<value> Description (e.g. CrowdStrike Host Query API)
235
- --homepage=<value> Connector Author Support URL
236
- --keywords=<value> Enter keywords (Comma-Separated)
237
- --logoPath=<value> URL or absolute path to logo file
238
- --product=<value> Product (e.g. Falcon)
239
- --vendor=<value> Vendor (e.g. CrowdStrike)
330
+ -d, --directory=<value> [default: ./] root directory for where to store connectors, the connector directory
331
+ will be generated.
332
+ -h, --help Show CLI help.
333
+ -t, --template=<option> [default: python_311_definition] connector template to scaffold
334
+ <options: python_310_definition|python_311_definition|python_3>
335
+ --aspirationalConnector=<value> Is it an aspirational connector? (e.g. false)
336
+ --author=<value> Connector Author
337
+ --authorEmail=<value> Connector Author Email
338
+ --description=<value> Description (e.g. CrowdStrike Host Query API)
339
+ --homepage=<value> Connector Author Support URL
340
+ --keywords=<value> Enter keywords (Comma-Separated)
341
+ --logoPath=<value> URL or absolute path to logo file
342
+ --product=<value> Product (e.g. Falcon)
343
+ --vendor=<value> Vendor (e.g. CrowdStrike)
240
344
 
241
345
  DESCRIPTION
242
346
  Scaffold a new connector
243
347
  ```
244
348
 
245
- _See code: [lib/commands/connector/create.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/create.js)_
349
+ _See code: [lib/commands/connector/create.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/create.js)_
246
350
 
247
351
  ## `sw-tsdk-connector connector:create:openapi`
248
352
 
@@ -271,7 +375,7 @@ DESCRIPTION
271
375
  Scaffold a new connector
272
376
  ```
273
377
 
274
- _See code: [lib/commands/connector/create/openapi.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/create/openapi.js)_
378
+ _See code: [lib/commands/connector/create/openapi.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/create/openapi.js)_
275
379
 
276
380
  ## `sw-tsdk-connector connector:create:source`
277
381
 
@@ -289,7 +393,7 @@ DESCRIPTION
289
393
  Generates 11x source from 10x
290
394
  ```
291
395
 
292
- _See code: [lib/commands/connector/create/source.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/create/source.js)_
396
+ _See code: [lib/commands/connector/create/source.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/create/source.js)_
293
397
 
294
398
  ## `sw-tsdk-connector connector:logo`
295
399
 
@@ -308,7 +412,7 @@ DESCRIPTION
308
412
  Update a connector.
309
413
  ```
310
414
 
311
- _See code: [lib/commands/connector/logo.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/logo.js)_
415
+ _See code: [lib/commands/connector/logo.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/logo.js)_
312
416
 
313
417
  ## `sw-tsdk-connector connector:sign`
314
418
 
@@ -333,7 +437,7 @@ DESCRIPTION
333
437
  Builds a local docker image of the connector.
334
438
  ```
335
439
 
336
- _See code: [lib/commands/connector/sign.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/sign.js)_
440
+ _See code: [lib/commands/connector/sign.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/sign.js)_
337
441
 
338
442
  ## `sw-tsdk-connector connector:update`
339
443
 
@@ -353,7 +457,7 @@ DESCRIPTION
353
457
  Update a connector.
354
458
  ```
355
459
 
356
- _See code: [lib/commands/connector/update.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/update.js)_
460
+ _See code: [lib/commands/connector/update.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/update.js)_
357
461
 
358
462
  ## `sw-tsdk-connector connector:validate`
359
463
 
@@ -376,5 +480,91 @@ DESCRIPTION
376
480
  Use to validate an integration
377
481
  ```
378
482
 
379
- _See code: [lib/commands/connector/validate.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-alpha.39+5a332d5/lib/commands/connector/validate.js)_
483
+ _See code: [lib/commands/connector/validate.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/connector/validate.js)_
484
+
485
+ ## `sw-tsdk-connector description:action`
486
+
487
+ Use to generate action description
488
+
489
+ ```
490
+ USAGE
491
+ $ sw-tsdk-connector description:action [-h] [-i <value>] [-s] [-d <value>] [-a <value>]
492
+
493
+ FLAGS
494
+ -a, --action=<value> Generate description for specific action
495
+ -d, --directory=<value> [default: ./] current directory to mount
496
+ -h, --help Show CLI help.
497
+ -i, --image=<value> image to use
498
+ -s, --skip-pull skips pulling the image
499
+
500
+ DESCRIPTION
501
+ Use to generate action description
502
+ ```
503
+
504
+ _See code: [lib/commands/description/action.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/description/action.js)_
505
+
506
+ ## `sw-tsdk-connector description:actions`
507
+
508
+ Use to generate description for all actions
509
+
510
+ ```
511
+ USAGE
512
+ $ sw-tsdk-connector description:actions [-h] [-i <value>] [-s] [-d <value>]
513
+
514
+ FLAGS
515
+ -d, --directory=<value> [default: ./] current directory to mount
516
+ -h, --help Show CLI help.
517
+ -i, --image=<value> image to use
518
+ -s, --skip-pull skips pulling the image
519
+
520
+ DESCRIPTION
521
+ Use to generate description for all actions
522
+ ```
523
+
524
+ _See code: [lib/commands/description/actions.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/description/actions.js)_
525
+
526
+ ## `sw-tsdk-connector description:component`
527
+
528
+ Use to generate component descriptions
529
+
530
+ ```
531
+ USAGE
532
+ $ sw-tsdk-connector description:component [-h] [-i <value>] [-s] [-d <value>] [-c <value>] [-t <value>] [-v <value>] [-p
533
+ <value>]
534
+
535
+ FLAGS
536
+ -c, --componentName=<value> component name
537
+ -d, --directory=<value> [default: ./] current directory to mount
538
+ -h, --help Show CLI help.
539
+ -i, --image=<value> image to use
540
+ -p, --connectorLocalPath=<value> local path to connector
541
+ -s, --skip-pull skips pulling the image
542
+ -t, --componentType=<value> [default: ingestion] ingestion | enrichment | remediation
543
+ -v, --componentVariety=<value> [default: classic] classic | canvas
544
+
545
+ DESCRIPTION
546
+ Use to generate component descriptions
547
+ ```
548
+
549
+ _See code: [lib/commands/description/component.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/description/component.js)_
550
+
551
+ ## `sw-tsdk-connector description:connector`
552
+
553
+ Use to generate connector descriptions
554
+
555
+ ```
556
+ USAGE
557
+ $ sw-tsdk-connector description:connector [-h] [-i <value>] [-s] [-d <value>]
558
+
559
+ FLAGS
560
+ -d, --directory=<value> [default: ./] current directory to mount
561
+ -h, --help Show CLI help.
562
+ -i, --image=<value> image to use
563
+ -s, --skip-pull skips pulling the image
564
+
565
+ DESCRIPTION
566
+ Use to generate connector descriptions
567
+ ```
568
+
569
+ _See code: [lib/commands/description/connector.js](https://github.com/swimlane/turbine-sdk/blob/v2.11.2-next.101+56f97ca/lib/commands/description/connector.js)_
380
570
  <!-- commandsstop -->
@@ -0,0 +1,34 @@
1
+ import { Base } from '@sw-tsdk/core';
2
+ export interface ComponentManifest {
3
+ schema: string;
4
+ componentType: string;
5
+ vendor: string;
6
+ name: string;
7
+ author: string;
8
+ bugs: string;
9
+ iconImage: string;
10
+ description: string;
11
+ homepage: string;
12
+ license: string;
13
+ title: string;
14
+ version: string;
15
+ keywords: string[];
16
+ }
17
+ export declare class Create extends Base {
18
+ static description: string;
19
+ static flags: {
20
+ directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
21
+ componentType: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
22
+ vendor: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
23
+ componentName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
24
+ keywords: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
25
+ description: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
26
+ logoPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
27
+ sspPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
28
+ author: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
29
+ authorEmail: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
30
+ homepage: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
31
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
32
+ };
33
+ run(): Promise<void>;
34
+ }
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Create = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
6
+ const connector_1 = require("@sw-tsdk/connector");
7
+ const core_2 = require("@sw-tsdk/core");
8
+ const fs_extra_1 = require("fs-extra");
9
+ const inquirer_1 = tslib_1.__importDefault(require("inquirer"));
10
+ const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
11
+ const fs = tslib_1.__importStar(require("node:fs"));
12
+ const node_fs_1 = require("node:fs");
13
+ const path = tslib_1.__importStar(require("node:path"));
14
+ const node_path_1 = require("node:path");
15
+ const snake_case_1 = require("snake-case");
16
+ const common_1 = require("../../common");
17
+ // noinspection JSUnusedGlobalSymbols
18
+ class Create extends core_2.Base {
19
+ async run() {
20
+ const { flags } = await this.parse(Create);
21
+ let { directory } = flags;
22
+ directory = (0, node_path_1.resolve)(directory || process.cwd());
23
+ try {
24
+ await node_fs_1.promises.access(directory);
25
+ }
26
+ catch {
27
+ this.error(`Could not access ${directory}`);
28
+ }
29
+ const masterQuestions = [{
30
+ type: 'list',
31
+ name: 'componentType',
32
+ message: 'Choose Component Type',
33
+ choices: common_1.contentCategories,
34
+ },
35
+ {
36
+ type: 'input',
37
+ name: 'vendor',
38
+ message: 'Vendor (e.g. CrowdStrike)',
39
+ },
40
+ {
41
+ type: 'input',
42
+ name: 'componentName',
43
+ message: 'Component Name (e.g. Alert Ingestion)',
44
+ },
45
+ {
46
+ type: 'input',
47
+ name: 'description',
48
+ message: 'Description (e.g. CrowdStrike Alert Ingestion Component)',
49
+ },
50
+ {
51
+ type: 'list',
52
+ name: 'keywords',
53
+ message: 'Choose a category (Comma-separated)',
54
+ choices: common_1.connectorCategories,
55
+ },
56
+ {
57
+ type: 'input',
58
+ name: 'logoPath',
59
+ message: 'URL or absolute path to logo file',
60
+ },
61
+ {
62
+ type: 'input',
63
+ name: 'sspPath',
64
+ message: 'Absolute path to .ssp file',
65
+ },
66
+ {
67
+ type: 'input',
68
+ name: 'author',
69
+ message: 'Integration Author',
70
+ default: 'Swimlane',
71
+ },
72
+ {
73
+ type: 'input',
74
+ name: 'authorEmail',
75
+ message: 'Integration Author Email',
76
+ default: 'info@swimlane.com',
77
+ },
78
+ {
79
+ type: 'input',
80
+ name: 'homepage',
81
+ message: 'Author URL',
82
+ default: 'https://swimlane.com',
83
+ }];
84
+ const filteredQuestions = masterQuestions.filter(q => !flags[q.name]);
85
+ const answers = Object.assign(await inquirer_1.default.prompt(filteredQuestions), flags);
86
+ const componentType = answers.componentType;
87
+ const errors = [];
88
+ if (!answers.vendor) {
89
+ errors.push('Vendor Field is required.');
90
+ }
91
+ if (!answers.componentName) {
92
+ errors.push('Component Name is required.');
93
+ }
94
+ const name = (0, snake_case_1.snakeCase)(`${answers.vendor} ${answers.componentName}`.toLocaleLowerCase());
95
+ const componentDirectory = (0, node_path_1.join)(directory, componentType, `${name}`);
96
+ await (0, fs_extra_1.ensureDir)(componentDirectory);
97
+ const component = {
98
+ vendor: answers.vendor,
99
+ name: name,
100
+ schema: 'component/1',
101
+ author: answers.author,
102
+ bugs: '',
103
+ iconImage: '../image/logo.png',
104
+ description: answers.description,
105
+ homepage: answers.homepage,
106
+ license: 'AGPL-3.0',
107
+ title: await (0, connector_1.titleCaseString)(`${answers.vendor} ${answers.componentName}`),
108
+ version: '0.0.0',
109
+ componentType: componentType,
110
+ keywords: answers.keywords.split(',').map(x => x.trim()),
111
+ };
112
+ core_1.ux.action.start('Generating folder structure.');
113
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'external.yml'), '', 'utf8');
114
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'README.md'), 'Description will be updated shortly.', 'utf8');
115
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'EXTERNAL_README.md'), 'Description will be updated shortly.', 'utf8');
116
+ await (0, fs_extra_1.writeFile)((0, node_path_1.join)(componentDirectory, 'documentation.README.md'), 'Description will be updated shortly.', 'utf8');
117
+ if (answers.logoPath?.endsWith('.png') || answers.logoPath?.endsWith('.jpg') || answers.logoPath?.endsWith('.jpeg')) {
118
+ core_1.ux.action.start('Processing Logo');
119
+ await (0, connector_1.updateImage)(componentDirectory, answers.logoPath);
120
+ core_1.ux.action.stop();
121
+ }
122
+ else {
123
+ core_1.ux.action.stop();
124
+ errors.push('Invalid logo file provided');
125
+ }
126
+ if (answers.sspPath?.endsWith('.ssp')) {
127
+ core_1.ux.action.start('Processing SSP File');
128
+ const destinationPath = path.join(componentDirectory, `${name}.ssp`);
129
+ await fs.promises.copyFile(answers.sspPath, destinationPath);
130
+ core_1.ux.action.stop();
131
+ }
132
+ else {
133
+ errors.push('Invalid ssp file provided');
134
+ }
135
+ if (errors.length > 0) {
136
+ core_1.ux.action.stop();
137
+ return this.error(errors.join('\n'));
138
+ }
139
+ const manifestFilePath = (0, node_path_1.join)(componentDirectory, 'manifest.yml');
140
+ await (0, fs_extra_1.writeFile)(manifestFilePath, js_yaml_1.default.dump(component, {
141
+ indent: 2,
142
+ noRefs: true,
143
+ }));
144
+ core_1.ux.action.stop();
145
+ }
146
+ }
147
+ exports.Create = Create;
148
+ Create.description = 'Scaffold a new Component';
149
+ Create.flags = {
150
+ ...core_2.Base.flags,
151
+ directory: core_1.Flags.string({
152
+ char: 'd',
153
+ description: 'root directory for where to store Component.',
154
+ default: './',
155
+ }),
156
+ componentType: core_1.Flags.string({ description: 'Component Type (e.g. classic)' }),
157
+ vendor: core_1.Flags.string({ description: 'Vendor (e.g. CrowdStrike)' }),
158
+ componentName: core_1.Flags.string({ description: 'Component Name (e.g. Alert Ingestion)' }),
159
+ keywords: core_1.Flags.string({ description: 'Enter keywords' }),
160
+ description: core_1.Flags.string({ description: 'Description (e.g. CrowdStrike Alert Ingestion Component)' }),
161
+ logoPath: core_1.Flags.string({ description: 'URL or absolute path to logo file' }),
162
+ sspPath: core_1.Flags.string({ description: 'absolute path to .ssp file' }),
163
+ author: core_1.Flags.string({ description: 'Component Author' }),
164
+ authorEmail: core_1.Flags.string({ description: 'Component Author Email' }),
165
+ homepage: core_1.Flags.string({ description: 'Component Author Support URL' }),
166
+ help: core_1.Flags.help({ char: 'h' }),
167
+ };
168
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/component/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Base } from '@sw-tsdk/core';
2
+ export declare class Logo extends Base {
3
+ static description: string;
4
+ static flags: {
5
+ directory: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
6
+ componentType: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
7
+ componentName: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ logoPath: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
+ help: import("@oclif/core/lib/interfaces").BooleanFlag<void>;
10
+ };
11
+ run(): Promise<void>;
12
+ }