@heroku/skynet 2.2.0 → 2.5.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/README.md +47 -0
- package/dist/commands/allowlist/add.d.ts +2 -2
- package/dist/commands/allowlist/remove.d.ts +1 -1
- package/dist/commands/categories/add.d.ts +2 -2
- package/dist/commands/categories/remove.d.ts +1 -1
- package/dist/commands/deprovision.d.ts +6 -6
- package/dist/commands/deprovision.js +1 -1
- package/dist/commands/legal-hold/add.d.ts +11 -0
- package/dist/commands/legal-hold/add.js +28 -0
- package/dist/commands/legal-hold/remove.d.ts +11 -0
- package/dist/commands/legal-hold/remove.js +28 -0
- package/dist/commands/suspend/app-owner.d.ts +7 -7
- package/dist/commands/suspend/app-owner.js +2 -2
- package/dist/commands/suspend/apps.d.ts +5 -5
- package/dist/commands/suspend/user/direct.d.ts +24 -0
- package/dist/commands/suspend/user/direct.js +286 -0
- package/dist/commands/suspend/user.d.ts +10 -9
- package/dist/commands/suspend/user.js +17 -3
- package/dist/commands/suspensions/upload.d.ts +9 -0
- package/dist/commands/suspensions/upload.js +111 -0
- package/dist/commands/suspensions.d.ts +1 -1
- package/dist/commands/suspensions.js +2 -2
- package/dist/commands/unsuspend/apps.d.ts +3 -3
- package/dist/commands/unsuspend/user.d.ts +3 -3
- package/dist/commands/userpass/add.d.ts +2 -2
- package/dist/commands/userpass/remove.d.ts +2 -2
- package/dist/lib/local-storage.d.ts +31 -0
- package/dist/lib/local-storage.js +88 -0
- package/dist/lib/skynet.d.ts +16 -2
- package/dist/lib/skynet.js +24 -2
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.js +64 -7
- package/oclif.manifest.json +560 -176
- package/package.json +17 -17
package/oclif.manifest.json
CHANGED
|
@@ -9,7 +9,15 @@
|
|
|
9
9
|
"examples": [
|
|
10
10
|
"$ heroku skynet:allowlists"
|
|
11
11
|
],
|
|
12
|
-
"flags": {
|
|
12
|
+
"flags": {
|
|
13
|
+
"prompt": {
|
|
14
|
+
"description": "interactively prompt for command arguments and flags",
|
|
15
|
+
"helpGroup": "GLOBAL",
|
|
16
|
+
"name": "prompt",
|
|
17
|
+
"allowNo": false,
|
|
18
|
+
"type": "boolean"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
13
21
|
"hasDynamicHelp": false,
|
|
14
22
|
"hiddenAliases": [],
|
|
15
23
|
"id": "allowlists",
|
|
@@ -17,6 +25,8 @@
|
|
|
17
25
|
"pluginName": "@heroku/skynet",
|
|
18
26
|
"pluginType": "core",
|
|
19
27
|
"strict": true,
|
|
28
|
+
"enableJsonFlag": false,
|
|
29
|
+
"promptFlagActive": true,
|
|
20
30
|
"isESM": true,
|
|
21
31
|
"relativePath": [
|
|
22
32
|
"dist",
|
|
@@ -34,6 +44,13 @@
|
|
|
34
44
|
"$ heroku skynet:deprovision -u foo@bar.com -n \"helpful suspend message\" -c \"spam\""
|
|
35
45
|
],
|
|
36
46
|
"flags": {
|
|
47
|
+
"prompt": {
|
|
48
|
+
"description": "interactively prompt for command arguments and flags",
|
|
49
|
+
"helpGroup": "GLOBAL",
|
|
50
|
+
"name": "prompt",
|
|
51
|
+
"allowNo": false,
|
|
52
|
+
"type": "boolean"
|
|
53
|
+
},
|
|
37
54
|
"user": {
|
|
38
55
|
"char": "u",
|
|
39
56
|
"description": "user to deprovision",
|
|
@@ -89,6 +106,8 @@
|
|
|
89
106
|
"pluginName": "@heroku/skynet",
|
|
90
107
|
"pluginType": "core",
|
|
91
108
|
"strict": true,
|
|
109
|
+
"enableJsonFlag": false,
|
|
110
|
+
"promptFlagActive": true,
|
|
92
111
|
"isESM": true,
|
|
93
112
|
"relativePath": [
|
|
94
113
|
"dist",
|
|
@@ -106,6 +125,13 @@
|
|
|
106
125
|
"$ heroku skynet:suspensions -a [user account]"
|
|
107
126
|
],
|
|
108
127
|
"flags": {
|
|
128
|
+
"prompt": {
|
|
129
|
+
"description": "interactively prompt for command arguments and flags",
|
|
130
|
+
"helpGroup": "GLOBAL",
|
|
131
|
+
"name": "prompt",
|
|
132
|
+
"allowNo": false,
|
|
133
|
+
"type": "boolean"
|
|
134
|
+
},
|
|
109
135
|
"account": {
|
|
110
136
|
"char": "a",
|
|
111
137
|
"description": "user account email",
|
|
@@ -123,6 +149,8 @@
|
|
|
123
149
|
"pluginName": "@heroku/skynet",
|
|
124
150
|
"pluginType": "core",
|
|
125
151
|
"strict": true,
|
|
152
|
+
"enableJsonFlag": false,
|
|
153
|
+
"promptFlagActive": true,
|
|
126
154
|
"isESM": true,
|
|
127
155
|
"relativePath": [
|
|
128
156
|
"dist",
|
|
@@ -140,6 +168,13 @@
|
|
|
140
168
|
"$ heroku skynet:allowlist:add -v foo@bar.com -n Additional info"
|
|
141
169
|
],
|
|
142
170
|
"flags": {
|
|
171
|
+
"prompt": {
|
|
172
|
+
"description": "interactively prompt for command arguments and flags",
|
|
173
|
+
"helpGroup": "GLOBAL",
|
|
174
|
+
"name": "prompt",
|
|
175
|
+
"allowNo": false,
|
|
176
|
+
"type": "boolean"
|
|
177
|
+
},
|
|
143
178
|
"value": {
|
|
144
179
|
"char": "v",
|
|
145
180
|
"description": "app name or user email to allowlist",
|
|
@@ -168,6 +203,8 @@
|
|
|
168
203
|
"pluginName": "@heroku/skynet",
|
|
169
204
|
"pluginType": "core",
|
|
170
205
|
"strict": true,
|
|
206
|
+
"enableJsonFlag": false,
|
|
207
|
+
"promptFlagActive": true,
|
|
171
208
|
"isESM": true,
|
|
172
209
|
"relativePath": [
|
|
173
210
|
"dist",
|
|
@@ -186,6 +223,13 @@
|
|
|
186
223
|
"$ heroku skynet:allowlist:remove -v foo@bar.com"
|
|
187
224
|
],
|
|
188
225
|
"flags": {
|
|
226
|
+
"prompt": {
|
|
227
|
+
"description": "interactively prompt for command arguments and flags",
|
|
228
|
+
"helpGroup": "GLOBAL",
|
|
229
|
+
"name": "prompt",
|
|
230
|
+
"allowNo": false,
|
|
231
|
+
"type": "boolean"
|
|
232
|
+
},
|
|
189
233
|
"value": {
|
|
190
234
|
"char": "v",
|
|
191
235
|
"description": "app name or user email to remove from allowlist",
|
|
@@ -205,6 +249,8 @@
|
|
|
205
249
|
"pluginName": "@heroku/skynet",
|
|
206
250
|
"pluginType": "core",
|
|
207
251
|
"strict": true,
|
|
252
|
+
"enableJsonFlag": false,
|
|
253
|
+
"promptFlagActive": true,
|
|
208
254
|
"isESM": true,
|
|
209
255
|
"relativePath": [
|
|
210
256
|
"dist",
|
|
@@ -223,6 +269,13 @@
|
|
|
223
269
|
"$ heroku skynet:categories:add -n Cryptominer -d \"Abusers running cryptomining on the platform\""
|
|
224
270
|
],
|
|
225
271
|
"flags": {
|
|
272
|
+
"prompt": {
|
|
273
|
+
"description": "interactively prompt for command arguments and flags",
|
|
274
|
+
"helpGroup": "GLOBAL",
|
|
275
|
+
"name": "prompt",
|
|
276
|
+
"allowNo": false,
|
|
277
|
+
"type": "boolean"
|
|
278
|
+
},
|
|
226
279
|
"name": {
|
|
227
280
|
"char": "n",
|
|
228
281
|
"description": "The name of the category",
|
|
@@ -249,6 +302,8 @@
|
|
|
249
302
|
"pluginName": "@heroku/skynet",
|
|
250
303
|
"pluginType": "core",
|
|
251
304
|
"strict": true,
|
|
305
|
+
"enableJsonFlag": false,
|
|
306
|
+
"promptFlagActive": true,
|
|
252
307
|
"isESM": true,
|
|
253
308
|
"relativePath": [
|
|
254
309
|
"dist",
|
|
@@ -266,7 +321,15 @@
|
|
|
266
321
|
"examples": [
|
|
267
322
|
"$ heroku skynet:categories"
|
|
268
323
|
],
|
|
269
|
-
"flags": {
|
|
324
|
+
"flags": {
|
|
325
|
+
"prompt": {
|
|
326
|
+
"description": "interactively prompt for command arguments and flags",
|
|
327
|
+
"helpGroup": "GLOBAL",
|
|
328
|
+
"name": "prompt",
|
|
329
|
+
"allowNo": false,
|
|
330
|
+
"type": "boolean"
|
|
331
|
+
}
|
|
332
|
+
},
|
|
270
333
|
"hasDynamicHelp": false,
|
|
271
334
|
"hiddenAliases": [],
|
|
272
335
|
"id": "categories:get",
|
|
@@ -274,6 +337,8 @@
|
|
|
274
337
|
"pluginName": "@heroku/skynet",
|
|
275
338
|
"pluginType": "core",
|
|
276
339
|
"strict": true,
|
|
340
|
+
"enableJsonFlag": false,
|
|
341
|
+
"promptFlagActive": true,
|
|
277
342
|
"isESM": true,
|
|
278
343
|
"relativePath": [
|
|
279
344
|
"dist",
|
|
@@ -292,6 +357,13 @@
|
|
|
292
357
|
"$ heroku skynet:categories:remove -n Cryptominer"
|
|
293
358
|
],
|
|
294
359
|
"flags": {
|
|
360
|
+
"prompt": {
|
|
361
|
+
"description": "interactively prompt for command arguments and flags",
|
|
362
|
+
"helpGroup": "GLOBAL",
|
|
363
|
+
"name": "prompt",
|
|
364
|
+
"allowNo": false,
|
|
365
|
+
"type": "boolean"
|
|
366
|
+
},
|
|
295
367
|
"name": {
|
|
296
368
|
"char": "n",
|
|
297
369
|
"description": "The name of the category",
|
|
@@ -309,6 +381,8 @@
|
|
|
309
381
|
"pluginName": "@heroku/skynet",
|
|
310
382
|
"pluginType": "core",
|
|
311
383
|
"strict": true,
|
|
384
|
+
"enableJsonFlag": false,
|
|
385
|
+
"promptFlagActive": true,
|
|
312
386
|
"isESM": true,
|
|
313
387
|
"relativePath": [
|
|
314
388
|
"dist",
|
|
@@ -317,249 +391,128 @@
|
|
|
317
391
|
"remove.js"
|
|
318
392
|
]
|
|
319
393
|
},
|
|
320
|
-
"
|
|
394
|
+
"legal-hold:add": {
|
|
321
395
|
"aliases": [
|
|
322
|
-
"skynet:
|
|
396
|
+
"skynet:legal-hold:add"
|
|
323
397
|
],
|
|
324
398
|
"args": {},
|
|
325
|
-
"description": "
|
|
399
|
+
"description": "add legal hold flag to a user",
|
|
326
400
|
"examples": [
|
|
327
|
-
"$ heroku skynet:
|
|
401
|
+
"$ heroku skynet:legal-hold:add -u foo@bar.com"
|
|
328
402
|
],
|
|
329
403
|
"flags": {
|
|
330
|
-
"
|
|
331
|
-
"
|
|
332
|
-
"
|
|
333
|
-
"name": "
|
|
334
|
-
"
|
|
335
|
-
"
|
|
336
|
-
"type": "option"
|
|
337
|
-
},
|
|
338
|
-
"infile": {
|
|
339
|
-
"char": "i",
|
|
340
|
-
"description": "file of apps that require owner suspension",
|
|
341
|
-
"name": "infile",
|
|
342
|
-
"hasDynamicHelp": false,
|
|
343
|
-
"multiple": false,
|
|
344
|
-
"type": "option"
|
|
345
|
-
},
|
|
346
|
-
"category": {
|
|
347
|
-
"char": "c",
|
|
348
|
-
"description": "suspension category",
|
|
349
|
-
"name": "category",
|
|
350
|
-
"required": true,
|
|
351
|
-
"hasDynamicHelp": false,
|
|
352
|
-
"multiple": false,
|
|
353
|
-
"type": "option"
|
|
404
|
+
"prompt": {
|
|
405
|
+
"description": "interactively prompt for command arguments and flags",
|
|
406
|
+
"helpGroup": "GLOBAL",
|
|
407
|
+
"name": "prompt",
|
|
408
|
+
"allowNo": false,
|
|
409
|
+
"type": "boolean"
|
|
354
410
|
},
|
|
355
|
-
"
|
|
356
|
-
"char": "
|
|
357
|
-
"description": "
|
|
358
|
-
"name": "
|
|
411
|
+
"user": {
|
|
412
|
+
"char": "u",
|
|
413
|
+
"description": "user to add legal hold to",
|
|
414
|
+
"name": "user",
|
|
359
415
|
"required": true,
|
|
360
416
|
"hasDynamicHelp": false,
|
|
361
417
|
"multiple": false,
|
|
362
418
|
"type": "option"
|
|
363
|
-
},
|
|
364
|
-
"bypass": {
|
|
365
|
-
"description": "force suspension, bypassing skynet safety checks",
|
|
366
|
-
"name": "bypass",
|
|
367
|
-
"required": false,
|
|
368
|
-
"allowNo": false,
|
|
369
|
-
"type": "boolean"
|
|
370
|
-
},
|
|
371
|
-
"deprovision": {
|
|
372
|
-
"char": "d",
|
|
373
|
-
"description": "put user into the fast resource deletion flow",
|
|
374
|
-
"name": "deprovision",
|
|
375
|
-
"required": false,
|
|
376
|
-
"allowNo": false,
|
|
377
|
-
"type": "boolean"
|
|
378
|
-
},
|
|
379
|
-
"async": {
|
|
380
|
-
"description": "do not wait for suspension to complete",
|
|
381
|
-
"name": "async",
|
|
382
|
-
"required": false,
|
|
383
|
-
"allowNo": false,
|
|
384
|
-
"type": "boolean"
|
|
385
419
|
}
|
|
386
420
|
},
|
|
387
421
|
"hasDynamicHelp": false,
|
|
388
422
|
"hiddenAliases": [],
|
|
389
|
-
"id": "
|
|
423
|
+
"id": "legal-hold:add",
|
|
390
424
|
"pluginAlias": "@heroku/skynet",
|
|
391
425
|
"pluginName": "@heroku/skynet",
|
|
392
426
|
"pluginType": "core",
|
|
393
427
|
"strict": true,
|
|
428
|
+
"enableJsonFlag": false,
|
|
429
|
+
"promptFlagActive": true,
|
|
394
430
|
"isESM": true,
|
|
395
431
|
"relativePath": [
|
|
396
432
|
"dist",
|
|
397
433
|
"commands",
|
|
398
|
-
"
|
|
399
|
-
"
|
|
434
|
+
"legal-hold",
|
|
435
|
+
"add.js"
|
|
400
436
|
]
|
|
401
437
|
},
|
|
402
|
-
"
|
|
438
|
+
"legal-hold:remove": {
|
|
403
439
|
"aliases": [
|
|
404
|
-
"skynet:
|
|
440
|
+
"skynet:legal-hold:remove"
|
|
405
441
|
],
|
|
406
442
|
"args": {},
|
|
407
|
-
"description": "
|
|
443
|
+
"description": "remove legal hold flag from a user",
|
|
408
444
|
"examples": [
|
|
409
|
-
"$ heroku skynet:
|
|
445
|
+
"$ heroku skynet:legal-hold:remove -u foo@bar.com"
|
|
410
446
|
],
|
|
411
447
|
"flags": {
|
|
412
|
-
"
|
|
413
|
-
"
|
|
414
|
-
"
|
|
415
|
-
"name": "
|
|
416
|
-
"
|
|
417
|
-
"
|
|
418
|
-
"multiple": false,
|
|
419
|
-
"type": "option"
|
|
420
|
-
},
|
|
421
|
-
"notes": {
|
|
422
|
-
"char": "n",
|
|
423
|
-
"description": "suspend notes",
|
|
424
|
-
"name": "notes",
|
|
425
|
-
"required": true,
|
|
426
|
-
"hasDynamicHelp": false,
|
|
427
|
-
"multiple": false,
|
|
428
|
-
"type": "option"
|
|
448
|
+
"prompt": {
|
|
449
|
+
"description": "interactively prompt for command arguments and flags",
|
|
450
|
+
"helpGroup": "GLOBAL",
|
|
451
|
+
"name": "prompt",
|
|
452
|
+
"allowNo": false,
|
|
453
|
+
"type": "boolean"
|
|
429
454
|
},
|
|
430
|
-
"
|
|
431
|
-
"char": "
|
|
432
|
-
"description": "
|
|
433
|
-
"name": "
|
|
455
|
+
"user": {
|
|
456
|
+
"char": "u",
|
|
457
|
+
"description": "user to remove legal hold from",
|
|
458
|
+
"name": "user",
|
|
434
459
|
"required": true,
|
|
435
460
|
"hasDynamicHelp": false,
|
|
436
461
|
"multiple": false,
|
|
437
462
|
"type": "option"
|
|
438
|
-
},
|
|
439
|
-
"bypass": {
|
|
440
|
-
"description": "force suspension, bypassing skynet safety checks",
|
|
441
|
-
"name": "bypass",
|
|
442
|
-
"required": false,
|
|
443
|
-
"allowNo": false,
|
|
444
|
-
"type": "boolean"
|
|
445
|
-
},
|
|
446
|
-
"async": {
|
|
447
|
-
"description": "do not wait for suspension to complete",
|
|
448
|
-
"name": "async",
|
|
449
|
-
"required": false,
|
|
450
|
-
"allowNo": false,
|
|
451
|
-
"type": "boolean"
|
|
452
463
|
}
|
|
453
464
|
},
|
|
454
465
|
"hasDynamicHelp": false,
|
|
455
466
|
"hiddenAliases": [],
|
|
456
|
-
"id": "
|
|
467
|
+
"id": "legal-hold:remove",
|
|
457
468
|
"pluginAlias": "@heroku/skynet",
|
|
458
469
|
"pluginName": "@heroku/skynet",
|
|
459
470
|
"pluginType": "core",
|
|
460
471
|
"strict": true,
|
|
472
|
+
"enableJsonFlag": false,
|
|
473
|
+
"promptFlagActive": true,
|
|
461
474
|
"isESM": true,
|
|
462
475
|
"relativePath": [
|
|
463
476
|
"dist",
|
|
464
477
|
"commands",
|
|
465
|
-
"
|
|
466
|
-
"
|
|
478
|
+
"legal-hold",
|
|
479
|
+
"remove.js"
|
|
467
480
|
]
|
|
468
481
|
},
|
|
469
|
-
"
|
|
482
|
+
"suspensions:upload": {
|
|
470
483
|
"aliases": [
|
|
471
|
-
"skynet:
|
|
484
|
+
"skynet:suspensions:upload"
|
|
472
485
|
],
|
|
473
486
|
"args": {},
|
|
474
|
-
"description": "(requires sudo)
|
|
487
|
+
"description": "(requires sudo) uploads locally stored suspension records to Skynet",
|
|
475
488
|
"examples": [
|
|
476
|
-
"$ heroku sudo skynet:
|
|
489
|
+
"$ heroku sudo skynet:suspensions:upload"
|
|
477
490
|
],
|
|
478
491
|
"flags": {
|
|
479
|
-
"
|
|
480
|
-
"
|
|
481
|
-
"
|
|
482
|
-
"name": "
|
|
483
|
-
"hasDynamicHelp": false,
|
|
484
|
-
"multiple": false,
|
|
485
|
-
"type": "option"
|
|
486
|
-
},
|
|
487
|
-
"infile": {
|
|
488
|
-
"char": "i",
|
|
489
|
-
"description": "file of users to suspend",
|
|
490
|
-
"name": "infile",
|
|
491
|
-
"hasDynamicHelp": false,
|
|
492
|
-
"multiple": false,
|
|
493
|
-
"type": "option"
|
|
494
|
-
},
|
|
495
|
-
"category": {
|
|
496
|
-
"char": "c",
|
|
497
|
-
"description": "suspension category",
|
|
498
|
-
"name": "category",
|
|
499
|
-
"required": true,
|
|
500
|
-
"hasDynamicHelp": false,
|
|
501
|
-
"multiple": false,
|
|
502
|
-
"type": "option"
|
|
503
|
-
},
|
|
504
|
-
"notes": {
|
|
505
|
-
"char": "n",
|
|
506
|
-
"description": "suspend notes",
|
|
507
|
-
"name": "notes",
|
|
508
|
-
"required": true,
|
|
509
|
-
"hasDynamicHelp": false,
|
|
510
|
-
"multiple": false,
|
|
511
|
-
"type": "option"
|
|
512
|
-
},
|
|
513
|
-
"bypass": {
|
|
514
|
-
"description": "force suspension, bypassing skynet safety checks",
|
|
515
|
-
"name": "bypass",
|
|
516
|
-
"required": false,
|
|
517
|
-
"allowNo": false,
|
|
518
|
-
"type": "boolean"
|
|
519
|
-
},
|
|
520
|
-
"no-notify": {
|
|
521
|
-
"description": "skip user suspension email notification",
|
|
522
|
-
"name": "no-notify",
|
|
523
|
-
"required": false,
|
|
524
|
-
"allowNo": false,
|
|
525
|
-
"type": "boolean"
|
|
526
|
-
},
|
|
527
|
-
"notify": {
|
|
528
|
-
"description": "send user suspension email notification",
|
|
529
|
-
"name": "notify",
|
|
530
|
-
"required": false,
|
|
531
|
-
"allowNo": false,
|
|
532
|
-
"type": "boolean"
|
|
533
|
-
},
|
|
534
|
-
"deprovision": {
|
|
535
|
-
"char": "d",
|
|
536
|
-
"description": "put user into the fast resource deletion flow",
|
|
537
|
-
"name": "deprovision",
|
|
538
|
-
"required": false,
|
|
539
|
-
"allowNo": false,
|
|
540
|
-
"type": "boolean"
|
|
541
|
-
},
|
|
542
|
-
"async": {
|
|
543
|
-
"description": "do not wait for suspension to complete",
|
|
544
|
-
"name": "async",
|
|
545
|
-
"required": false,
|
|
492
|
+
"prompt": {
|
|
493
|
+
"description": "interactively prompt for command arguments and flags",
|
|
494
|
+
"helpGroup": "GLOBAL",
|
|
495
|
+
"name": "prompt",
|
|
546
496
|
"allowNo": false,
|
|
547
497
|
"type": "boolean"
|
|
548
498
|
}
|
|
549
499
|
},
|
|
550
500
|
"hasDynamicHelp": false,
|
|
501
|
+
"hidden": true,
|
|
551
502
|
"hiddenAliases": [],
|
|
552
|
-
"id": "
|
|
503
|
+
"id": "suspensions:upload",
|
|
553
504
|
"pluginAlias": "@heroku/skynet",
|
|
554
505
|
"pluginName": "@heroku/skynet",
|
|
555
506
|
"pluginType": "core",
|
|
556
507
|
"strict": true,
|
|
508
|
+
"enableJsonFlag": false,
|
|
509
|
+
"promptFlagActive": true,
|
|
557
510
|
"isESM": true,
|
|
558
511
|
"relativePath": [
|
|
559
512
|
"dist",
|
|
560
513
|
"commands",
|
|
561
|
-
"
|
|
562
|
-
"
|
|
514
|
+
"suspensions",
|
|
515
|
+
"upload.js"
|
|
563
516
|
]
|
|
564
517
|
},
|
|
565
518
|
"unsuspend:apps": {
|
|
@@ -572,6 +525,13 @@
|
|
|
572
525
|
"$ heroku skynet:unsuspend:app -a test-app -n \"helpful unsuspend message\" -c \"unsuspend-apology\""
|
|
573
526
|
],
|
|
574
527
|
"flags": {
|
|
528
|
+
"prompt": {
|
|
529
|
+
"description": "interactively prompt for command arguments and flags",
|
|
530
|
+
"helpGroup": "GLOBAL",
|
|
531
|
+
"name": "prompt",
|
|
532
|
+
"allowNo": false,
|
|
533
|
+
"type": "boolean"
|
|
534
|
+
},
|
|
575
535
|
"app": {
|
|
576
536
|
"char": "a",
|
|
577
537
|
"description": "app to unsuspend",
|
|
@@ -607,6 +567,8 @@
|
|
|
607
567
|
"pluginName": "@heroku/skynet",
|
|
608
568
|
"pluginType": "core",
|
|
609
569
|
"strict": true,
|
|
570
|
+
"enableJsonFlag": false,
|
|
571
|
+
"promptFlagActive": true,
|
|
610
572
|
"isESM": true,
|
|
611
573
|
"relativePath": [
|
|
612
574
|
"dist",
|
|
@@ -625,6 +587,13 @@
|
|
|
625
587
|
"$ heroku skynet:unsuspend:user -u foo@bar.com -n \"helpful unsuspend message\" -c \"unsuspend-account-recovery\""
|
|
626
588
|
],
|
|
627
589
|
"flags": {
|
|
590
|
+
"prompt": {
|
|
591
|
+
"description": "interactively prompt for command arguments and flags",
|
|
592
|
+
"helpGroup": "GLOBAL",
|
|
593
|
+
"name": "prompt",
|
|
594
|
+
"allowNo": false,
|
|
595
|
+
"type": "boolean"
|
|
596
|
+
},
|
|
628
597
|
"user": {
|
|
629
598
|
"char": "u",
|
|
630
599
|
"description": "user to unsuspend",
|
|
@@ -659,6 +628,8 @@
|
|
|
659
628
|
"pluginName": "@heroku/skynet",
|
|
660
629
|
"pluginType": "core",
|
|
661
630
|
"strict": true,
|
|
631
|
+
"enableJsonFlag": false,
|
|
632
|
+
"promptFlagActive": true,
|
|
662
633
|
"isESM": true,
|
|
663
634
|
"relativePath": [
|
|
664
635
|
"dist",
|
|
@@ -677,6 +648,13 @@
|
|
|
677
648
|
"$ heroku skynet:userpass:add -u foo@bar.com -f cant-install-abused-addons"
|
|
678
649
|
],
|
|
679
650
|
"flags": {
|
|
651
|
+
"prompt": {
|
|
652
|
+
"description": "interactively prompt for command arguments and flags",
|
|
653
|
+
"helpGroup": "GLOBAL",
|
|
654
|
+
"name": "prompt",
|
|
655
|
+
"allowNo": false,
|
|
656
|
+
"type": "boolean"
|
|
657
|
+
},
|
|
680
658
|
"user": {
|
|
681
659
|
"char": "u",
|
|
682
660
|
"description": "user to apply userpass flag to",
|
|
@@ -703,6 +681,8 @@
|
|
|
703
681
|
"pluginName": "@heroku/skynet",
|
|
704
682
|
"pluginType": "core",
|
|
705
683
|
"strict": true,
|
|
684
|
+
"enableJsonFlag": false,
|
|
685
|
+
"promptFlagActive": true,
|
|
706
686
|
"isESM": true,
|
|
707
687
|
"relativePath": [
|
|
708
688
|
"dist",
|
|
@@ -721,6 +701,13 @@
|
|
|
721
701
|
"$ heroku skynet:userpass:remove -u foo@bar.com -f cant-install-abused-addons"
|
|
722
702
|
],
|
|
723
703
|
"flags": {
|
|
704
|
+
"prompt": {
|
|
705
|
+
"description": "interactively prompt for command arguments and flags",
|
|
706
|
+
"helpGroup": "GLOBAL",
|
|
707
|
+
"name": "prompt",
|
|
708
|
+
"allowNo": false,
|
|
709
|
+
"type": "boolean"
|
|
710
|
+
},
|
|
724
711
|
"user": {
|
|
725
712
|
"char": "u",
|
|
726
713
|
"description": "user to remove user_pass from",
|
|
@@ -747,6 +734,8 @@
|
|
|
747
734
|
"pluginName": "@heroku/skynet",
|
|
748
735
|
"pluginType": "core",
|
|
749
736
|
"strict": true,
|
|
737
|
+
"enableJsonFlag": false,
|
|
738
|
+
"promptFlagActive": true,
|
|
750
739
|
"isESM": true,
|
|
751
740
|
"relativePath": [
|
|
752
741
|
"dist",
|
|
@@ -754,7 +743,402 @@
|
|
|
754
743
|
"userpass",
|
|
755
744
|
"remove.js"
|
|
756
745
|
]
|
|
746
|
+
},
|
|
747
|
+
"suspend:app-owner": {
|
|
748
|
+
"aliases": [
|
|
749
|
+
"skynet:suspend:app-owner"
|
|
750
|
+
],
|
|
751
|
+
"args": {},
|
|
752
|
+
"description": "(requires sudo) suspends the owner of a given app",
|
|
753
|
+
"examples": [
|
|
754
|
+
"$ heroku skynet:suspend:app-owner -a foobar -n \"helpful suspend message\" -c \"ddos\""
|
|
755
|
+
],
|
|
756
|
+
"flags": {
|
|
757
|
+
"prompt": {
|
|
758
|
+
"description": "interactively prompt for command arguments and flags",
|
|
759
|
+
"helpGroup": "GLOBAL",
|
|
760
|
+
"name": "prompt",
|
|
761
|
+
"allowNo": false,
|
|
762
|
+
"type": "boolean"
|
|
763
|
+
},
|
|
764
|
+
"app": {
|
|
765
|
+
"char": "a",
|
|
766
|
+
"description": "app that requires owner suspension",
|
|
767
|
+
"name": "app",
|
|
768
|
+
"hasDynamicHelp": false,
|
|
769
|
+
"multiple": false,
|
|
770
|
+
"type": "option"
|
|
771
|
+
},
|
|
772
|
+
"infile": {
|
|
773
|
+
"char": "i",
|
|
774
|
+
"description": "file of apps that require owner suspension",
|
|
775
|
+
"name": "infile",
|
|
776
|
+
"hasDynamicHelp": false,
|
|
777
|
+
"multiple": false,
|
|
778
|
+
"type": "option"
|
|
779
|
+
},
|
|
780
|
+
"category": {
|
|
781
|
+
"char": "c",
|
|
782
|
+
"description": "suspension category",
|
|
783
|
+
"name": "category",
|
|
784
|
+
"required": true,
|
|
785
|
+
"hasDynamicHelp": false,
|
|
786
|
+
"multiple": false,
|
|
787
|
+
"type": "option"
|
|
788
|
+
},
|
|
789
|
+
"notes": {
|
|
790
|
+
"char": "n",
|
|
791
|
+
"description": "suspend notes",
|
|
792
|
+
"name": "notes",
|
|
793
|
+
"required": true,
|
|
794
|
+
"hasDynamicHelp": false,
|
|
795
|
+
"multiple": false,
|
|
796
|
+
"type": "option"
|
|
797
|
+
},
|
|
798
|
+
"bypass": {
|
|
799
|
+
"description": "force suspension, bypassing skynet safety checks",
|
|
800
|
+
"name": "bypass",
|
|
801
|
+
"required": false,
|
|
802
|
+
"allowNo": false,
|
|
803
|
+
"type": "boolean"
|
|
804
|
+
},
|
|
805
|
+
"deprovision": {
|
|
806
|
+
"char": "d",
|
|
807
|
+
"description": "put user into the fast resource deletion flow",
|
|
808
|
+
"name": "deprovision",
|
|
809
|
+
"required": false,
|
|
810
|
+
"allowNo": false,
|
|
811
|
+
"type": "boolean"
|
|
812
|
+
},
|
|
813
|
+
"async": {
|
|
814
|
+
"description": "do not wait for suspension to complete",
|
|
815
|
+
"name": "async",
|
|
816
|
+
"required": false,
|
|
817
|
+
"allowNo": false,
|
|
818
|
+
"type": "boolean"
|
|
819
|
+
}
|
|
820
|
+
},
|
|
821
|
+
"hasDynamicHelp": false,
|
|
822
|
+
"hiddenAliases": [],
|
|
823
|
+
"id": "suspend:app-owner",
|
|
824
|
+
"pluginAlias": "@heroku/skynet",
|
|
825
|
+
"pluginName": "@heroku/skynet",
|
|
826
|
+
"pluginType": "core",
|
|
827
|
+
"strict": true,
|
|
828
|
+
"enableJsonFlag": false,
|
|
829
|
+
"promptFlagActive": true,
|
|
830
|
+
"isESM": true,
|
|
831
|
+
"relativePath": [
|
|
832
|
+
"dist",
|
|
833
|
+
"commands",
|
|
834
|
+
"suspend",
|
|
835
|
+
"app-owner.js"
|
|
836
|
+
]
|
|
837
|
+
},
|
|
838
|
+
"suspend:apps": {
|
|
839
|
+
"aliases": [
|
|
840
|
+
"skynet:suspend:app"
|
|
841
|
+
],
|
|
842
|
+
"args": {},
|
|
843
|
+
"description": "(requires sudo) suspends an app",
|
|
844
|
+
"examples": [
|
|
845
|
+
"$ heroku skynet:suspend:app -a test-app -c \"category\" -n \"helpful suspend message\""
|
|
846
|
+
],
|
|
847
|
+
"flags": {
|
|
848
|
+
"prompt": {
|
|
849
|
+
"description": "interactively prompt for command arguments and flags",
|
|
850
|
+
"helpGroup": "GLOBAL",
|
|
851
|
+
"name": "prompt",
|
|
852
|
+
"allowNo": false,
|
|
853
|
+
"type": "boolean"
|
|
854
|
+
},
|
|
855
|
+
"app": {
|
|
856
|
+
"char": "a",
|
|
857
|
+
"description": "app to suspend",
|
|
858
|
+
"name": "app",
|
|
859
|
+
"required": true,
|
|
860
|
+
"hasDynamicHelp": false,
|
|
861
|
+
"multiple": false,
|
|
862
|
+
"type": "option"
|
|
863
|
+
},
|
|
864
|
+
"notes": {
|
|
865
|
+
"char": "n",
|
|
866
|
+
"description": "suspend notes",
|
|
867
|
+
"name": "notes",
|
|
868
|
+
"required": true,
|
|
869
|
+
"hasDynamicHelp": false,
|
|
870
|
+
"multiple": false,
|
|
871
|
+
"type": "option"
|
|
872
|
+
},
|
|
873
|
+
"category": {
|
|
874
|
+
"char": "c",
|
|
875
|
+
"description": "suspension category",
|
|
876
|
+
"name": "category",
|
|
877
|
+
"required": true,
|
|
878
|
+
"hasDynamicHelp": false,
|
|
879
|
+
"multiple": false,
|
|
880
|
+
"type": "option"
|
|
881
|
+
},
|
|
882
|
+
"bypass": {
|
|
883
|
+
"description": "force suspension, bypassing skynet safety checks",
|
|
884
|
+
"name": "bypass",
|
|
885
|
+
"required": false,
|
|
886
|
+
"allowNo": false,
|
|
887
|
+
"type": "boolean"
|
|
888
|
+
},
|
|
889
|
+
"async": {
|
|
890
|
+
"description": "do not wait for suspension to complete",
|
|
891
|
+
"name": "async",
|
|
892
|
+
"required": false,
|
|
893
|
+
"allowNo": false,
|
|
894
|
+
"type": "boolean"
|
|
895
|
+
}
|
|
896
|
+
},
|
|
897
|
+
"hasDynamicHelp": false,
|
|
898
|
+
"hiddenAliases": [],
|
|
899
|
+
"id": "suspend:apps",
|
|
900
|
+
"pluginAlias": "@heroku/skynet",
|
|
901
|
+
"pluginName": "@heroku/skynet",
|
|
902
|
+
"pluginType": "core",
|
|
903
|
+
"strict": true,
|
|
904
|
+
"enableJsonFlag": false,
|
|
905
|
+
"promptFlagActive": true,
|
|
906
|
+
"isESM": true,
|
|
907
|
+
"relativePath": [
|
|
908
|
+
"dist",
|
|
909
|
+
"commands",
|
|
910
|
+
"suspend",
|
|
911
|
+
"apps.js"
|
|
912
|
+
]
|
|
913
|
+
},
|
|
914
|
+
"suspend:user": {
|
|
915
|
+
"aliases": [
|
|
916
|
+
"skynet:suspend:user"
|
|
917
|
+
],
|
|
918
|
+
"args": {},
|
|
919
|
+
"description": "(requires sudo) suspends a user",
|
|
920
|
+
"examples": [
|
|
921
|
+
"$ heroku sudo skynet:suspend:user -u foo@bar.com -n \"helpful suspend message\" -c \"ddos\""
|
|
922
|
+
],
|
|
923
|
+
"flags": {
|
|
924
|
+
"prompt": {
|
|
925
|
+
"description": "interactively prompt for command arguments and flags",
|
|
926
|
+
"helpGroup": "GLOBAL",
|
|
927
|
+
"name": "prompt",
|
|
928
|
+
"allowNo": false,
|
|
929
|
+
"type": "boolean"
|
|
930
|
+
},
|
|
931
|
+
"user": {
|
|
932
|
+
"char": "u",
|
|
933
|
+
"description": "user to suspend",
|
|
934
|
+
"name": "user",
|
|
935
|
+
"hasDynamicHelp": false,
|
|
936
|
+
"multiple": false,
|
|
937
|
+
"type": "option"
|
|
938
|
+
},
|
|
939
|
+
"infile": {
|
|
940
|
+
"char": "i",
|
|
941
|
+
"description": "file of users to suspend",
|
|
942
|
+
"name": "infile",
|
|
943
|
+
"hasDynamicHelp": false,
|
|
944
|
+
"multiple": false,
|
|
945
|
+
"type": "option"
|
|
946
|
+
},
|
|
947
|
+
"category": {
|
|
948
|
+
"char": "c",
|
|
949
|
+
"description": "suspension category",
|
|
950
|
+
"name": "category",
|
|
951
|
+
"required": true,
|
|
952
|
+
"hasDynamicHelp": false,
|
|
953
|
+
"multiple": false,
|
|
954
|
+
"type": "option"
|
|
955
|
+
},
|
|
956
|
+
"notes": {
|
|
957
|
+
"char": "n",
|
|
958
|
+
"description": "suspend notes",
|
|
959
|
+
"name": "notes",
|
|
960
|
+
"required": true,
|
|
961
|
+
"hasDynamicHelp": false,
|
|
962
|
+
"multiple": false,
|
|
963
|
+
"type": "option"
|
|
964
|
+
},
|
|
965
|
+
"bypass": {
|
|
966
|
+
"description": "force suspension, bypassing skynet safety checks",
|
|
967
|
+
"name": "bypass",
|
|
968
|
+
"required": false,
|
|
969
|
+
"allowNo": false,
|
|
970
|
+
"type": "boolean"
|
|
971
|
+
},
|
|
972
|
+
"no-notify": {
|
|
973
|
+
"description": "skip user suspension email notification",
|
|
974
|
+
"name": "no-notify",
|
|
975
|
+
"required": false,
|
|
976
|
+
"allowNo": false,
|
|
977
|
+
"type": "boolean"
|
|
978
|
+
},
|
|
979
|
+
"notify": {
|
|
980
|
+
"description": "send user suspension email notification",
|
|
981
|
+
"name": "notify",
|
|
982
|
+
"required": false,
|
|
983
|
+
"allowNo": false,
|
|
984
|
+
"type": "boolean"
|
|
985
|
+
},
|
|
986
|
+
"deprovision": {
|
|
987
|
+
"char": "d",
|
|
988
|
+
"description": "put user into the fast resource deletion flow",
|
|
989
|
+
"name": "deprovision",
|
|
990
|
+
"required": false,
|
|
991
|
+
"allowNo": false,
|
|
992
|
+
"type": "boolean"
|
|
993
|
+
},
|
|
994
|
+
"async": {
|
|
995
|
+
"description": "do not wait for suspension to complete",
|
|
996
|
+
"name": "async",
|
|
997
|
+
"required": false,
|
|
998
|
+
"allowNo": false,
|
|
999
|
+
"type": "boolean"
|
|
1000
|
+
},
|
|
1001
|
+
"legal-hold": {
|
|
1002
|
+
"description": "mark suspension with legal hold status (prevents unsuspension until cleared)",
|
|
1003
|
+
"name": "legal-hold",
|
|
1004
|
+
"required": false,
|
|
1005
|
+
"allowNo": false,
|
|
1006
|
+
"type": "boolean"
|
|
1007
|
+
}
|
|
1008
|
+
},
|
|
1009
|
+
"hasDynamicHelp": false,
|
|
1010
|
+
"hiddenAliases": [],
|
|
1011
|
+
"id": "suspend:user",
|
|
1012
|
+
"pluginAlias": "@heroku/skynet",
|
|
1013
|
+
"pluginName": "@heroku/skynet",
|
|
1014
|
+
"pluginType": "core",
|
|
1015
|
+
"strict": true,
|
|
1016
|
+
"enableJsonFlag": false,
|
|
1017
|
+
"promptFlagActive": true,
|
|
1018
|
+
"isESM": true,
|
|
1019
|
+
"relativePath": [
|
|
1020
|
+
"dist",
|
|
1021
|
+
"commands",
|
|
1022
|
+
"suspend",
|
|
1023
|
+
"user.js"
|
|
1024
|
+
]
|
|
1025
|
+
},
|
|
1026
|
+
"suspend:user:direct": {
|
|
1027
|
+
"aliases": [
|
|
1028
|
+
"skynet:suspend:user:direct"
|
|
1029
|
+
],
|
|
1030
|
+
"args": {},
|
|
1031
|
+
"description": "(requires sudo) suspends a user, app, or app-owner directly via Heroku API",
|
|
1032
|
+
"examples": [
|
|
1033
|
+
"$ heroku sudo skynet:suspend:user:direct -u foo@bar.com -n \"helpful suspend message\" -c \"ddos\"",
|
|
1034
|
+
"$ heroku sudo skynet:suspend:user:direct -a myapp -n \"helpful suspend message\" -c \"malware\"",
|
|
1035
|
+
"$ heroku sudo skynet:suspend:user:direct --app-owner myapp -n \"helpful suspend message\" -c \"cryptocurrency\""
|
|
1036
|
+
],
|
|
1037
|
+
"flags": {
|
|
1038
|
+
"prompt": {
|
|
1039
|
+
"description": "interactively prompt for command arguments and flags",
|
|
1040
|
+
"helpGroup": "GLOBAL",
|
|
1041
|
+
"name": "prompt",
|
|
1042
|
+
"allowNo": false,
|
|
1043
|
+
"type": "boolean"
|
|
1044
|
+
},
|
|
1045
|
+
"user": {
|
|
1046
|
+
"char": "u",
|
|
1047
|
+
"description": "user to suspend",
|
|
1048
|
+
"name": "user",
|
|
1049
|
+
"hasDynamicHelp": false,
|
|
1050
|
+
"multiple": false,
|
|
1051
|
+
"type": "option"
|
|
1052
|
+
},
|
|
1053
|
+
"app": {
|
|
1054
|
+
"char": "a",
|
|
1055
|
+
"description": "app to suspend",
|
|
1056
|
+
"name": "app",
|
|
1057
|
+
"hasDynamicHelp": false,
|
|
1058
|
+
"multiple": false,
|
|
1059
|
+
"type": "option"
|
|
1060
|
+
},
|
|
1061
|
+
"app-owner": {
|
|
1062
|
+
"description": "app whose owner should be suspended",
|
|
1063
|
+
"name": "app-owner",
|
|
1064
|
+
"hasDynamicHelp": false,
|
|
1065
|
+
"multiple": false,
|
|
1066
|
+
"type": "option"
|
|
1067
|
+
},
|
|
1068
|
+
"category": {
|
|
1069
|
+
"char": "c",
|
|
1070
|
+
"description": "suspension category",
|
|
1071
|
+
"name": "category",
|
|
1072
|
+
"required": true,
|
|
1073
|
+
"hasDynamicHelp": false,
|
|
1074
|
+
"multiple": false,
|
|
1075
|
+
"type": "option"
|
|
1076
|
+
},
|
|
1077
|
+
"notes": {
|
|
1078
|
+
"char": "n",
|
|
1079
|
+
"description": "suspend notes",
|
|
1080
|
+
"name": "notes",
|
|
1081
|
+
"required": true,
|
|
1082
|
+
"hasDynamicHelp": false,
|
|
1083
|
+
"multiple": false,
|
|
1084
|
+
"type": "option"
|
|
1085
|
+
},
|
|
1086
|
+
"bypass": {
|
|
1087
|
+
"description": "force suspension, bypassing skynet safety checks (N/A for direct suspension)",
|
|
1088
|
+
"name": "bypass",
|
|
1089
|
+
"required": false,
|
|
1090
|
+
"allowNo": false,
|
|
1091
|
+
"type": "boolean"
|
|
1092
|
+
},
|
|
1093
|
+
"no-notify": {
|
|
1094
|
+
"description": "skip user suspension email notification (user suspensions only)",
|
|
1095
|
+
"name": "no-notify",
|
|
1096
|
+
"required": false,
|
|
1097
|
+
"allowNo": false,
|
|
1098
|
+
"type": "boolean"
|
|
1099
|
+
},
|
|
1100
|
+
"notify": {
|
|
1101
|
+
"description": "send user suspension email notification (user suspensions only)",
|
|
1102
|
+
"name": "notify",
|
|
1103
|
+
"required": false,
|
|
1104
|
+
"allowNo": false,
|
|
1105
|
+
"type": "boolean"
|
|
1106
|
+
},
|
|
1107
|
+
"deprovision": {
|
|
1108
|
+
"char": "d",
|
|
1109
|
+
"description": "put user into the fast resource deletion flow (user/app-owner only)",
|
|
1110
|
+
"name": "deprovision",
|
|
1111
|
+
"required": false,
|
|
1112
|
+
"allowNo": false,
|
|
1113
|
+
"type": "boolean"
|
|
1114
|
+
},
|
|
1115
|
+
"legal-hold": {
|
|
1116
|
+
"description": "mark suspension with legal hold status (prevents unsuspension until cleared)",
|
|
1117
|
+
"name": "legal-hold",
|
|
1118
|
+
"required": false,
|
|
1119
|
+
"allowNo": false,
|
|
1120
|
+
"type": "boolean"
|
|
1121
|
+
}
|
|
1122
|
+
},
|
|
1123
|
+
"hasDynamicHelp": false,
|
|
1124
|
+
"hidden": true,
|
|
1125
|
+
"hiddenAliases": [],
|
|
1126
|
+
"id": "suspend:user:direct",
|
|
1127
|
+
"pluginAlias": "@heroku/skynet",
|
|
1128
|
+
"pluginName": "@heroku/skynet",
|
|
1129
|
+
"pluginType": "core",
|
|
1130
|
+
"strict": true,
|
|
1131
|
+
"enableJsonFlag": false,
|
|
1132
|
+
"promptFlagActive": true,
|
|
1133
|
+
"isESM": true,
|
|
1134
|
+
"relativePath": [
|
|
1135
|
+
"dist",
|
|
1136
|
+
"commands",
|
|
1137
|
+
"suspend",
|
|
1138
|
+
"user",
|
|
1139
|
+
"direct.js"
|
|
1140
|
+
]
|
|
757
1141
|
}
|
|
758
1142
|
},
|
|
759
|
-
"version": "2.
|
|
1143
|
+
"version": "2.5.0"
|
|
760
1144
|
}
|