@tigrisdata/cli 2.13.1 → 2.14.0-beta.2

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 (83) hide show
  1. package/dist/auth/s3-client.js +1 -1
  2. package/dist/chunk-5LRGY6RN.js +2 -0
  3. package/dist/chunk-DHUR7FTP.js +4 -0
  4. package/dist/chunk-DV3LCXRH.js +1 -0
  5. package/dist/chunk-FP2FMNEE.js +8 -0
  6. package/dist/chunk-GHTFMDGV.js +4 -0
  7. package/dist/chunk-S5P27E6L.js +7 -0
  8. package/dist/chunk-S77OAN6Y.js +1 -0
  9. package/dist/chunk-TD2HGNDY.js +1 -0
  10. package/dist/chunk-XLRVNE6T.js +1 -0
  11. package/dist/chunk-ZK3HJDIZ.js +1 -0
  12. package/dist/cli-core.js +1 -1
  13. package/dist/cli.js +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/lib/access-keys/assign.js +3 -2
  16. package/dist/lib/access-keys/create.js +3 -2
  17. package/dist/lib/access-keys/delete.js +3 -2
  18. package/dist/lib/access-keys/get.js +3 -2
  19. package/dist/lib/access-keys/list.js +3 -2
  20. package/dist/lib/buckets/create.js +1 -1
  21. package/dist/lib/buckets/delete.js +1 -1
  22. package/dist/lib/buckets/get.js +1 -1
  23. package/dist/lib/buckets/list.js +1 -1
  24. package/dist/lib/buckets/set-cors.js +1 -1
  25. package/dist/lib/buckets/set-locations.js +1 -0
  26. package/dist/lib/buckets/set-migration.js +1 -1
  27. package/dist/lib/buckets/set-notifications.js +1 -1
  28. package/dist/lib/buckets/set-transition.js +1 -1
  29. package/dist/lib/buckets/set-ttl.js +1 -1
  30. package/dist/lib/buckets/set.js +1 -1
  31. package/dist/lib/configure/index.js +1 -1
  32. package/dist/lib/cp.js +1 -1
  33. package/dist/lib/credentials/test.js +1 -1
  34. package/dist/lib/forks/create.js +1 -1
  35. package/dist/lib/forks/list.js +1 -1
  36. package/dist/lib/iam/policies/create.js +3 -2
  37. package/dist/lib/iam/policies/delete.js +3 -2
  38. package/dist/lib/iam/policies/edit.js +3 -2
  39. package/dist/lib/iam/policies/get.js +3 -2
  40. package/dist/lib/iam/policies/list.js +3 -2
  41. package/dist/lib/iam/users/invite.js +4 -3
  42. package/dist/lib/iam/users/list.js +8 -7
  43. package/dist/lib/iam/users/remove.js +4 -3
  44. package/dist/lib/iam/users/revoke-invitation.js +4 -3
  45. package/dist/lib/iam/users/update-role.js +4 -3
  46. package/dist/lib/login/credentials.js +1 -1
  47. package/dist/lib/login/oauth.js +1 -1
  48. package/dist/lib/login/select.js +1 -1
  49. package/dist/lib/logout.js +1 -1
  50. package/dist/lib/ls.js +1 -1
  51. package/dist/lib/mk.js +1 -1
  52. package/dist/lib/mv.js +1 -1
  53. package/dist/lib/objects/delete.js +1 -1
  54. package/dist/lib/objects/get.js +1 -1
  55. package/dist/lib/objects/list.js +1 -1
  56. package/dist/lib/objects/put.js +1 -1
  57. package/dist/lib/objects/set.js +1 -1
  58. package/dist/lib/organizations/create.js +3 -3
  59. package/dist/lib/organizations/list.js +2 -2
  60. package/dist/lib/organizations/select.js +4 -4
  61. package/dist/lib/presign.js +1 -1
  62. package/dist/lib/rm.js +1 -1
  63. package/dist/lib/snapshots/list.js +1 -1
  64. package/dist/lib/snapshots/take.js +1 -1
  65. package/dist/lib/stat.js +1 -1
  66. package/dist/lib/touch.js +1 -1
  67. package/dist/lib/whoami.js +2 -2
  68. package/dist/specs.yaml +324 -15
  69. package/dist/utils/errors.js +1 -0
  70. package/dist/utils/exit.js +1 -0
  71. package/dist/utils/interactive.js +1 -0
  72. package/dist/utils/locations.js +1 -1
  73. package/dist/utils/messages.js +1 -1
  74. package/dist/utils/update-check.js +1 -1
  75. package/package.json +5 -4
  76. package/dist/chunk-47THEW77.js +0 -8
  77. package/dist/chunk-4V35SYMM.js +0 -9
  78. package/dist/chunk-F2VBJEK7.js +0 -1
  79. package/dist/chunk-Q4KOY3VK.js +0 -1
  80. package/dist/chunk-SYGTCM6P.js +0 -2
  81. package/dist/chunk-TNOMT3EP.js +0 -4
  82. package/dist/chunk-YERF43U2.js +0 -1
  83. /package/dist/{chunk-VOQSWXBS.js → chunk-IJYKPR4W.js} +0 -0
package/dist/specs.yaml CHANGED
@@ -101,6 +101,11 @@ commands:
101
101
  onStart: 'Saving credentials...'
102
102
  onSuccess: 'Credentials saved to ~/.tigris/config.json. You can now use all tigris commands.'
103
103
  onFailure: 'Failed to save credentials'
104
+ nextActions:
105
+ - command: 'tigris credentials test'
106
+ description: 'Verify your credentials are working'
107
+ - command: 'tigris ls'
108
+ description: 'List your buckets'
104
109
  arguments:
105
110
  - name: access-key
106
111
  description: Your Tigris access key ID
@@ -156,6 +161,11 @@ commands:
156
161
  onFailure: 'Authentication failed'
157
162
  onAlreadyDone: "Already logged in.\nRun \"tigris logout\" first to switch accounts."
158
163
  hint: "You have {{count}} organizations.\nRun \"tigris orgs list\" to switch."
164
+ nextActions:
165
+ - command: 'tigris orgs list'
166
+ description: 'List and switch organizations'
167
+ - command: 'tigris ls'
168
+ description: 'List your buckets'
159
169
  # credentials
160
170
  - name: credentials
161
171
  description: Login with an access key and secret. Creates a temporary session that is cleared on logout
@@ -167,6 +177,9 @@ commands:
167
177
  onStart: 'Authenticating...'
168
178
  onSuccess: 'Logged in with credentials'
169
179
  onFailure: 'Authentication failed'
180
+ nextActions:
181
+ - command: 'tigris ls'
182
+ description: 'List your buckets'
170
183
  arguments:
171
184
  - name: access-key
172
185
  description: Your access key ID (will prompt if not provided)
@@ -189,6 +202,15 @@ commands:
189
202
  onSuccess: ''
190
203
  onFailure: 'Failed to get user information'
191
204
  onAlreadyDone: "Not authenticated\nRun \"tigris login\" to authenticate"
205
+ arguments:
206
+ - name: format
207
+ description: Output format
208
+ alias: f
209
+ options: [json, table]
210
+ default: table
211
+ - name: json
212
+ description: Output as JSON
213
+ type: flag
192
214
 
193
215
  # logout
194
216
  - name: logout
@@ -223,6 +245,14 @@ commands:
223
245
  description: Bucket name to test access against (optional)
224
246
  alias: b
225
247
  required: false
248
+ - name: format
249
+ description: Output format
250
+ alias: f
251
+ options: [json, table]
252
+ default: table
253
+ - name: json
254
+ description: Output as JSON
255
+ type: flag
226
256
 
227
257
 
228
258
  #########################
@@ -249,6 +279,17 @@ commands:
249
279
  - my-bucket/my-path
250
280
  - t3://my-bucket
251
281
  - t3://my-bucket/my-path
282
+ - name: snapshot-version
283
+ description: Read from a specific bucket snapshot. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp (e.g. 1765889000501544464)
284
+ alias: snapshot
285
+ - name: format
286
+ description: Output format
287
+ alias: f
288
+ options: [json, table, xml]
289
+ default: table
290
+ - name: json
291
+ description: Output as JSON
292
+ type: flag
252
293
 
253
294
  # mk
254
295
  - name: mk
@@ -259,6 +300,8 @@ commands:
259
300
  - "tigris mk my-bucket --access public --region iad"
260
301
  - "tigris mk my-bucket/images/"
261
302
  - "tigris mk t3://my-bucket"
303
+ - "tigris mk my-fork --fork-of my-bucket"
304
+ - "tigris mk my-fork --fork-of my-bucket --source-snapshot 1765889000501544464"
262
305
  messages:
263
306
  onFailure: 'Failed to create. Check the name is valid and your credentials have write access'
264
307
  arguments:
@@ -304,6 +347,20 @@ commands:
304
347
  alias: l
305
348
  options: *location_options
306
349
  default: 'global'
350
+ - name: fork-of
351
+ description: Create this bucket as a fork (copy-on-write clone) of the named source bucket
352
+ alias: fork
353
+ - name: source-snapshot
354
+ description: Fork from a specific snapshot of the source bucket. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp (e.g. 1765889000501544464). Requires --fork-of
355
+ alias: source-snap
356
+ - name: format
357
+ description: Output format
358
+ alias: f
359
+ options: [json, table]
360
+ default: table
361
+ - name: json
362
+ description: Output as JSON
363
+ type: flag
307
364
 
308
365
  # touch
309
366
  - name: touch
@@ -321,6 +378,14 @@ commands:
321
378
  examples:
322
379
  - my-bucket/my-file.txt
323
380
  - t3://my-bucket/my-file.txt
381
+ - name: format
382
+ description: Output format
383
+ alias: f
384
+ options: [json, table]
385
+ default: table
386
+ - name: json
387
+ description: Output as JSON
388
+ type: flag
324
389
 
325
390
  # stat
326
391
  - name: stat
@@ -347,6 +412,12 @@ commands:
347
412
  alias: f
348
413
  options: [json, table, xml]
349
414
  default: table
415
+ - name: json
416
+ description: Output as JSON
417
+ type: flag
418
+ - name: snapshot-version
419
+ description: Read from a specific bucket snapshot. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp (e.g. 1765889000501544464)
420
+ alias: snapshot
350
421
 
351
422
  # presign
352
423
  - name: presign
@@ -384,6 +455,9 @@ commands:
384
455
  alias: f
385
456
  options: [url, json]
386
457
  default: url
458
+ - name: json
459
+ description: Output as JSON
460
+ type: flag
387
461
 
388
462
  # cp
389
463
  - name: cp
@@ -420,6 +494,14 @@ commands:
420
494
  type: flag
421
495
  alias: r
422
496
  description: Copy directories recursively
497
+ - name: format
498
+ description: Output format
499
+ alias: f
500
+ options: [json, table]
501
+ default: table
502
+ - name: json
503
+ description: Output as JSON
504
+ type: flag
423
505
 
424
506
  # mv
425
507
  - name: mv
@@ -455,6 +537,13 @@ commands:
455
537
  type: flag
456
538
  alias: f
457
539
  description: Skip confirmation prompt
540
+ - name: format
541
+ description: Output format
542
+ options: [json, table]
543
+ default: table
544
+ - name: json
545
+ description: Output as JSON
546
+ type: flag
458
547
 
459
548
  # rm
460
549
  - name: rm
@@ -485,6 +574,13 @@ commands:
485
574
  type: flag
486
575
  alias: f
487
576
  description: Skip confirmation prompt
577
+ - name: format
578
+ description: Output format
579
+ options: [json, table]
580
+ default: table
581
+ - name: json
582
+ description: Output as JSON
583
+ type: flag
488
584
 
489
585
  #########################
490
586
  # Manage organizations
@@ -515,6 +611,9 @@ commands:
515
611
  alias: f
516
612
  options: [json, table, xml, select]
517
613
  default: select
614
+ - name: json
615
+ description: Output as JSON
616
+ type: flag
518
617
  - name: select
519
618
  description: Interactive selection mode
520
619
  alias: i
@@ -529,6 +628,9 @@ commands:
529
628
  onSuccess: "Organization '{{name}}' created successfully\nOrganization ID: {{id}}"
530
629
  onFailure: 'Failed to create organization'
531
630
  hint: "Next steps:\n - Select this organization: tigris orgs select {{name}}"
631
+ nextActions:
632
+ - command: 'tigris orgs select {{name}}'
633
+ description: 'Select this organization as active'
532
634
  arguments:
533
635
  - name: name
534
636
  type: positional
@@ -545,6 +647,11 @@ commands:
545
647
  onStart: ''
546
648
  onSuccess: "Organization '{{name}}' selected"
547
649
  onFailure: 'Failed to select organization'
650
+ nextActions:
651
+ - command: 'tigris ls'
652
+ description: 'List your buckets'
653
+ - command: 'tigris buckets create <name>'
654
+ description: 'Create a new bucket'
548
655
  arguments:
549
656
  - name: name
550
657
  type: positional
@@ -572,6 +679,7 @@ commands:
572
679
  examples:
573
680
  - "tigris buckets list"
574
681
  - "tigris buckets list --format json"
682
+ - "tigris buckets list --forks-of my-bucket"
575
683
  messages:
576
684
  onStart: 'Listing buckets...'
577
685
  onSuccess: 'Found {{count}} bucket(s)'
@@ -583,6 +691,11 @@ commands:
583
691
  alias: f
584
692
  options: [json, table, xml]
585
693
  default: table
694
+ - name: json
695
+ description: Output as JSON
696
+ type: flag
697
+ - name: forks-of
698
+ description: Only list buckets that are forks of the named source bucket
586
699
  # create
587
700
  - name: create
588
701
  description: Create a new bucket with optional access, tier, and location settings
@@ -591,10 +704,17 @@ commands:
591
704
  - "tigris buckets create my-bucket"
592
705
  - "tigris buckets create my-bucket --access public --locations iad"
593
706
  - "tigris buckets create my-bucket --enable-snapshots --default-tier STANDARD_IA"
707
+ - "tigris buckets create my-fork --fork-of my-bucket"
708
+ - "tigris buckets create my-fork --fork-of my-bucket --source-snapshot 1765889000501544464"
594
709
  messages:
595
710
  onStart: 'Creating bucket...'
596
711
  onSuccess: "Bucket '{{name}}' created successfully"
597
712
  onFailure: 'Failed to create bucket'
713
+ nextActions:
714
+ - command: 'tigris access-keys create <name>'
715
+ description: 'Create an access key for programmatic access'
716
+ - command: 'tigris cp ./file t3://{{name}}/'
717
+ description: 'Upload files to the new bucket'
598
718
  arguments:
599
719
  - name: name
600
720
  description: Name of the bucket
@@ -635,6 +755,20 @@ commands:
635
755
  alias: l
636
756
  options: *location_options
637
757
  default: 'global'
758
+ - name: fork-of
759
+ description: Create this bucket as a fork (copy-on-write clone) of the named source bucket
760
+ alias: fork
761
+ - name: source-snapshot
762
+ description: Fork from a specific snapshot of the source bucket. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp (e.g. 1765889000501544464). Requires --fork-of
763
+ alias: source-snap
764
+ - name: format
765
+ description: Output format
766
+ alias: f
767
+ options: [json, table]
768
+ default: table
769
+ - name: json
770
+ description: Output as JSON
771
+ type: flag
638
772
  # get
639
773
  - name: get
640
774
  description: Show details for a bucket including access level, region, tier, and custom domain
@@ -652,17 +786,28 @@ commands:
652
786
  required: true
653
787
  examples:
654
788
  - my-bucket
789
+ - name: format
790
+ description: Output format
791
+ alias: f
792
+ options: [json, table, xml]
793
+ default: table
794
+ - name: json
795
+ description: Output as JSON
796
+ type: flag
655
797
  # delete
656
798
  - name: delete
657
799
  description: Delete one or more buckets by name. The bucket must be empty or delete-protection must be off
658
800
  alias: d
659
801
  examples:
660
- - "tigris buckets delete my-bucket"
661
- - "tigris buckets delete bucket-a,bucket-b"
802
+ - "tigris buckets delete my-bucket --force"
803
+ - "tigris buckets delete bucket-a,bucket-b --force"
662
804
  messages:
663
805
  onStart: 'Deleting bucket...'
664
806
  onSuccess: "Bucket '{{name}}' deleted successfully"
665
807
  onFailure: "Failed to delete bucket '{{name}}'"
808
+ nextActions:
809
+ - command: 'tigris ls'
810
+ description: 'List remaining buckets'
666
811
  arguments:
667
812
  - name: name
668
813
  description: Name of the bucket or comma separated list of buckets
@@ -671,6 +816,17 @@ commands:
671
816
  multiple: true
672
817
  examples:
673
818
  - my-bucket
819
+ - name: force
820
+ type: flag
821
+ description: Skip confirmation prompt
822
+ - name: format
823
+ description: Output format
824
+ alias: f
825
+ options: [json, table]
826
+ default: table
827
+ - name: json
828
+ description: Output as JSON
829
+ type: flag
674
830
  # set
675
831
  - name: set
676
832
  description: Update settings on an existing bucket such as access level, location, caching, or custom domain
@@ -718,6 +874,13 @@ commands:
718
874
  - name: enable-additional-headers
719
875
  description: Enable additional HTTP headers (X-Content-Type-Options nosniff)
720
876
  type: boolean
877
+ - name: format
878
+ description: Output format
879
+ options: [json, table]
880
+ default: table
881
+ - name: json
882
+ description: Output as JSON
883
+ type: flag
721
884
  # set-ttl
722
885
  - name: set-ttl
723
886
  description: Configure object expiration (TTL) on a bucket. Objects expire after a number of days or on a specific date
@@ -747,6 +910,29 @@ commands:
747
910
  - name: disable
748
911
  description: Disable TTL on the bucket
749
912
  type: flag
913
+ # set-locations
914
+ - name: set-locations
915
+ description: Set the data locations for a bucket
916
+ examples:
917
+ - "tigris buckets set-locations my-bucket --locations iad"
918
+ - "tigris buckets set-locations my-bucket --locations iad,fra"
919
+ - "tigris buckets set-locations my-bucket --locations global"
920
+ messages:
921
+ onStart: 'Updating bucket locations...'
922
+ onSuccess: 'Locations updated for bucket {{name}}'
923
+ onFailure: 'Failed to update bucket locations'
924
+ arguments:
925
+ - name: name
926
+ description: Name of the bucket
927
+ type: positional
928
+ required: true
929
+ examples:
930
+ - my-bucket
931
+ - name: locations
932
+ description: Bucket location
933
+ alias: l
934
+ options: *location_options
935
+ multiple: true
750
936
  # set-migration
751
937
  - name: set-migration
752
938
  description: Configure data migration from an external S3-compatible source bucket. Tigris will pull objects on demand from the source
@@ -906,7 +1092,7 @@ commands:
906
1092
  # Manage forks
907
1093
  #########################
908
1094
  - name: forks
909
- description: List and create forks. A fork is a writable copy-on-write clone of a bucket, useful for testing or branching data
1095
+ description: (Deprecated, use "buckets create --fork-of" and "buckets list --forks-of") List and create forks
910
1096
  alias: f
911
1097
  examples:
912
1098
  - "tigris forks list my-bucket"
@@ -914,7 +1100,8 @@ commands:
914
1100
  commands:
915
1101
  # list
916
1102
  - name: list
917
- description: List all forks created from the given source bucket
1103
+ description: (Deprecated, use "buckets list --forks-of") List all forks created from the given source bucket
1104
+ deprecated: true
918
1105
  alias: l
919
1106
  examples:
920
1107
  - "tigris forks list my-bucket"
@@ -924,6 +1111,7 @@ commands:
924
1111
  onSuccess: 'Found {{count}} fork(s)'
925
1112
  onFailure: 'Failed to list forks'
926
1113
  onEmpty: 'No forks found for this bucket'
1114
+ onDeprecated: 'Use "tigris buckets list --forks-of <bucket>" instead'
927
1115
  arguments:
928
1116
  - name: name
929
1117
  description: Name of the source bucket
@@ -936,17 +1124,22 @@ commands:
936
1124
  alias: f
937
1125
  options: [json, table, xml]
938
1126
  default: table
1127
+ - name: json
1128
+ description: Output as JSON
1129
+ type: flag
939
1130
  # create
940
1131
  - name: create
941
- description: Create a new fork (copy-on-write clone) of the source bucket. Optionally fork from a specific snapshot
1132
+ description: (Deprecated, use "buckets create --fork-of") Create a new fork (copy-on-write clone) of the source bucket
1133
+ deprecated: true
942
1134
  alias: c
943
1135
  examples:
944
1136
  - "tigris forks create my-bucket my-fork"
945
- - "tigris forks create my-bucket my-fork --snapshot snap-2025-01-01"
1137
+ - "tigris forks create my-bucket my-fork --snapshot 1765889000501544464"
946
1138
  messages:
947
1139
  onStart: 'Creating fork...'
948
1140
  onSuccess: "Fork '{{forkName}}' created from '{{name}}'"
949
1141
  onFailure: 'Failed to create fork'
1142
+ onDeprecated: 'Use "tigris buckets create <name> --fork-of <bucket>" instead'
950
1143
  arguments:
951
1144
  - name: name
952
1145
  description: Name of the source bucket
@@ -961,7 +1154,7 @@ commands:
961
1154
  examples:
962
1155
  - my-fork
963
1156
  - name: snapshot
964
- description: Create fork from a specific snapshot
1157
+ description: Create fork from a specific snapshot. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp (e.g. 1765889000501544464)
965
1158
  alias: s
966
1159
 
967
1160
  #########################
@@ -998,6 +1191,9 @@ commands:
998
1191
  alias: f
999
1192
  options: [json, table, xml]
1000
1193
  default: table
1194
+ - name: json
1195
+ description: Output as JSON
1196
+ type: flag
1001
1197
  # take
1002
1198
  - name: take
1003
1199
  description: Take a new snapshot of the bucket's current state. Optionally provide a name for the snapshot
@@ -1063,6 +1259,12 @@ commands:
1063
1259
  alias: f
1064
1260
  options: [json, table, xml]
1065
1261
  default: table
1262
+ - name: json
1263
+ description: Output as JSON
1264
+ type: flag
1265
+ - name: snapshot-version
1266
+ description: Read from a specific bucket snapshot. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp (e.g. 1765889000501544464)
1267
+ alias: snapshot
1066
1268
  # get
1067
1269
  - name: get
1068
1270
  description: Download an object by key. Prints to stdout by default, or saves to a file with --output
@@ -1094,6 +1296,17 @@ commands:
1094
1296
  description: 'Response mode: "string" loads into memory, "stream" writes in chunks (auto-detected from extension if not specified)'
1095
1297
  alias: m
1096
1298
  options: [string, stream]
1299
+ - name: snapshot-version
1300
+ description: Read from a specific bucket snapshot. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp (e.g. 1765889000501544464)
1301
+ alias: snapshot
1302
+ - name: format
1303
+ description: Output format
1304
+ alias: f
1305
+ options: [json, table]
1306
+ default: table
1307
+ - name: json
1308
+ description: Output as JSON
1309
+ type: flag
1097
1310
  # put
1098
1311
  - name: put
1099
1312
  description: Upload a local file as an object. Content-type is auto-detected from extension unless overridden
@@ -1105,6 +1318,9 @@ commands:
1105
1318
  onStart: 'Uploading object...'
1106
1319
  onSuccess: "Object '{{key}}' uploaded successfully"
1107
1320
  onFailure: 'Failed to upload object'
1321
+ nextActions:
1322
+ - command: 'tigris presign {{bucket}}/{{key}}'
1323
+ description: 'Generate a presigned URL for the uploaded object'
1108
1324
  arguments:
1109
1325
  - name: bucket
1110
1326
  description: Name of the bucket
@@ -1136,17 +1352,23 @@ commands:
1136
1352
  alias: f
1137
1353
  options: [json, table, xml]
1138
1354
  default: table
1355
+ - name: json
1356
+ description: Output as JSON
1357
+ type: flag
1139
1358
  # delete
1140
1359
  - name: delete
1141
1360
  description: Delete one or more objects by key from the given bucket
1142
1361
  alias: d
1143
1362
  examples:
1144
- - "tigris objects delete my-bucket old-file.txt"
1145
- - "tigris objects delete my-bucket file-a.txt,file-b.txt"
1363
+ - "tigris objects delete my-bucket old-file.txt --force"
1364
+ - "tigris objects delete my-bucket file-a.txt,file-b.txt --force"
1146
1365
  messages:
1147
1366
  onStart: 'Deleting object...'
1148
1367
  onSuccess: "Object '{{key}}' deleted successfully"
1149
1368
  onFailure: 'Failed to delete object'
1369
+ nextActions:
1370
+ - command: 'tigris ls {{bucket}}'
1371
+ description: 'List remaining objects in the bucket'
1150
1372
  arguments:
1151
1373
  - name: bucket
1152
1374
  description: Name of the bucket
@@ -1161,6 +1383,17 @@ commands:
1161
1383
  multiple: true
1162
1384
  examples:
1163
1385
  - my-file.txt
1386
+ - name: force
1387
+ type: flag
1388
+ description: Skip confirmation prompt
1389
+ - name: format
1390
+ description: Output format
1391
+ alias: f
1392
+ options: [json, table]
1393
+ default: table
1394
+ - name: json
1395
+ description: Output as JSON
1396
+ type: flag
1164
1397
  # set
1165
1398
  - name: set
1166
1399
  description: Update settings on an existing object such as access level
@@ -1189,6 +1422,14 @@ commands:
1189
1422
  - name: new-key
1190
1423
  description: Rename the object to a new key
1191
1424
  alias: n
1425
+ - name: format
1426
+ description: Output format
1427
+ alias: f
1428
+ options: [json, table]
1429
+ default: table
1430
+ - name: json
1431
+ description: Output as JSON
1432
+ type: flag
1192
1433
 
1193
1434
  #########################
1194
1435
  # Manage access keys
@@ -1211,6 +1452,15 @@ commands:
1211
1452
  onSuccess: ''
1212
1453
  onFailure: 'Failed to list access keys'
1213
1454
  onEmpty: 'No access keys found'
1455
+ arguments:
1456
+ - name: format
1457
+ description: Output format
1458
+ alias: f
1459
+ options: [json, table, xml]
1460
+ default: table
1461
+ - name: json
1462
+ description: Output as JSON
1463
+ type: flag
1214
1464
  - name: create
1215
1465
  description: Create a new access key with the given name. Returns the key ID and secret (shown only once)
1216
1466
  alias: c
@@ -1220,6 +1470,9 @@ commands:
1220
1470
  onStart: 'Creating access key...'
1221
1471
  onSuccess: 'Access key created'
1222
1472
  onFailure: 'Failed to create access key'
1473
+ nextActions:
1474
+ - command: 'tigris access-keys assign {{id}} --bucket <bucket> --role Editor'
1475
+ description: 'Assign bucket roles to the new access key'
1223
1476
  arguments:
1224
1477
  - name: name
1225
1478
  description: Name for the access key
@@ -1227,11 +1480,19 @@ commands:
1227
1480
  required: true
1228
1481
  examples:
1229
1482
  - my-key
1483
+ - name: format
1484
+ description: Output format
1485
+ alias: f
1486
+ options: [json, table]
1487
+ default: table
1488
+ - name: json
1489
+ description: Output as JSON
1490
+ type: flag
1230
1491
  - name: delete
1231
1492
  description: Permanently delete an access key by its ID. This revokes all access immediately
1232
1493
  alias: d
1233
1494
  examples:
1234
- - "tigris access-keys delete tid_AaBbCcDdEeFf"
1495
+ - "tigris access-keys delete tid_AaBbCcDdEeFf --force"
1235
1496
  messages:
1236
1497
  onStart: 'Deleting access key...'
1237
1498
  onSuccess: 'Access key deleted'
@@ -1243,6 +1504,17 @@ commands:
1243
1504
  required: true
1244
1505
  examples:
1245
1506
  - tid_AaBbCcDdEeFf
1507
+ - name: force
1508
+ type: flag
1509
+ description: Skip confirmation prompt
1510
+ - name: format
1511
+ description: Output format
1512
+ alias: f
1513
+ options: [json, table]
1514
+ default: table
1515
+ - name: json
1516
+ description: Output as JSON
1517
+ type: flag
1246
1518
  - name: get
1247
1519
  description: Show details for an access key including its name, creation date, and assigned bucket roles
1248
1520
  alias: g
@@ -1259,6 +1531,14 @@ commands:
1259
1531
  required: true
1260
1532
  examples:
1261
1533
  - tid_AaBbCcDdEeFf
1534
+ - name: format
1535
+ description: Output format
1536
+ alias: f
1537
+ options: [json, table]
1538
+ default: table
1539
+ - name: json
1540
+ description: Output as JSON
1541
+ type: flag
1262
1542
  - name: assign
1263
1543
  description: Assign per-bucket roles to an access key. Pair each --bucket with a --role (Editor or ReadOnly), or use --admin for org-wide access
1264
1544
  alias: a
@@ -1271,6 +1551,9 @@ commands:
1271
1551
  onStart: 'Assigning bucket roles...'
1272
1552
  onSuccess: 'Bucket roles assigned'
1273
1553
  onFailure: 'Failed to assign bucket roles'
1554
+ nextActions:
1555
+ - command: 'tigris cp ./file t3://<bucket>/'
1556
+ description: 'Upload files using the assigned access key'
1274
1557
  arguments:
1275
1558
  - name: id
1276
1559
  description: Access key ID
@@ -1295,6 +1578,14 @@ commands:
1295
1578
  - name: revoke-roles
1296
1579
  description: Revoke all bucket roles from the access key
1297
1580
  type: flag
1581
+ - name: format
1582
+ description: Output format
1583
+ alias: f
1584
+ options: [json, table]
1585
+ default: table
1586
+ - name: json
1587
+ description: Output as JSON
1588
+ type: flag
1298
1589
 
1299
1590
  #########################
1300
1591
  # IAM - Identity and Access Management
@@ -1330,6 +1621,9 @@ commands:
1330
1621
  alias: f
1331
1622
  options: [json, table, xml]
1332
1623
  default: table
1624
+ - name: json
1625
+ description: Output as JSON
1626
+ type: flag
1333
1627
  - name: get
1334
1628
  description: Show details for a policy including its document and attached users. If no ARN provided, shows interactive selection
1335
1629
  alias: g
@@ -1353,6 +1647,9 @@ commands:
1353
1647
  alias: f
1354
1648
  options: [json, table, xml]
1355
1649
  default: table
1650
+ - name: json
1651
+ description: Output as JSON
1652
+ type: flag
1356
1653
  - name: create
1357
1654
  description: Create a new policy with the given name and policy document. Document can be provided via file, inline JSON, or stdin
1358
1655
  alias: c
@@ -1408,7 +1705,7 @@ commands:
1408
1705
  alias: d
1409
1706
  examples:
1410
1707
  - "tigris iam policies delete"
1411
- - "tigris iam policies delete arn:aws:iam::org_id:policy/my-policy"
1708
+ - "tigris iam policies delete arn:aws:iam::org_id:policy/my-policy --force"
1412
1709
  messages:
1413
1710
  onStart: 'Deleting policy...'
1414
1711
  onSuccess: "Policy '{{resource}}' deleted"
@@ -1421,6 +1718,9 @@ commands:
1421
1718
  required: false
1422
1719
  examples:
1423
1720
  - arn:aws:iam::org_id:policy/my-policy
1721
+ - name: force
1722
+ type: flag
1723
+ description: Skip confirmation prompt
1424
1724
 
1425
1725
  - name: users
1426
1726
  description: Manage organization users and invitations
@@ -1447,6 +1747,9 @@ commands:
1447
1747
  alias: f
1448
1748
  options: [json, table, xml]
1449
1749
  default: table
1750
+ - name: json
1751
+ description: Output as JSON
1752
+ type: flag
1450
1753
  - name: invite
1451
1754
  description: Invite users to the organization by email
1452
1755
  alias: i
@@ -1477,8 +1780,8 @@ commands:
1477
1780
  alias: ri
1478
1781
  examples:
1479
1782
  - "tigris iam users revoke-invitation"
1480
- - "tigris iam users revoke-invitation invitation_id"
1481
- - "tigris iam users revoke-invitation id1,id2,id3"
1783
+ - "tigris iam users revoke-invitation invitation_id --force"
1784
+ - "tigris iam users revoke-invitation id1,id2,id3 --force"
1482
1785
  messages:
1483
1786
  onStart: 'Revoking invitation...'
1484
1787
  onSuccess: "Invitation(s) revoked"
@@ -1490,6 +1793,9 @@ commands:
1490
1793
  type: positional
1491
1794
  required: false
1492
1795
  multiple: true
1796
+ - name: force
1797
+ type: flag
1798
+ description: Skip confirmation prompt
1493
1799
  - name: update-role
1494
1800
  description: Update user roles in the organization. If no user ID provided, shows interactive selection
1495
1801
  alias: ur
@@ -1520,8 +1826,8 @@ commands:
1520
1826
  alias: rm
1521
1827
  examples:
1522
1828
  - "tigris iam users remove"
1523
- - "tigris iam users remove user@example.com"
1524
- - "tigris iam users remove user@example.com,user@example.net"
1829
+ - "tigris iam users remove user@example.com --force"
1830
+ - "tigris iam users remove user@example.com,user@example.net --force"
1525
1831
  messages:
1526
1832
  onStart: 'Removing user...'
1527
1833
  onSuccess: "User(s) removed"
@@ -1533,3 +1839,6 @@ commands:
1533
1839
  type: positional
1534
1840
  required: false
1535
1841
  multiple: true
1842
+ - name: force
1843
+ type: flag
1844
+ description: Skip confirmation prompt