@tigrisdata/cli 2.1.1 → 2.2.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 +381 -1
- package/dist/auth/client.js +1 -1
- package/dist/auth/s3-client.js +1 -1
- package/dist/auth/storage.js +1 -1
- package/dist/cli.js +11 -8
- package/dist/index.js +11 -8
- package/dist/lib/buckets/create.js +2 -2
- package/dist/lib/buckets/delete.js +2 -0
- package/dist/lib/buckets/get.js +7 -0
- package/dist/lib/buckets/list.js +6 -6
- package/dist/lib/configure/index.js +2 -2
- package/dist/lib/cp.js +1 -1
- package/dist/lib/forks/create.js +2 -0
- package/dist/lib/forks/list.js +7 -0
- package/dist/lib/login/credentials.js +2 -2
- package/dist/lib/login/oauth.js +5 -0
- package/dist/lib/login/select.js +5 -5
- package/dist/lib/logout.js +2 -2
- package/dist/lib/ls.js +6 -1
- package/dist/lib/mk.js +1 -1
- package/dist/lib/mv.js +1 -1
- package/dist/lib/objects/delete.js +2 -0
- package/dist/lib/objects/get.js +2 -0
- package/dist/lib/objects/list.js +7 -0
- package/dist/lib/objects/put.js +7 -0
- package/dist/lib/organizations/create.js +5 -0
- package/dist/lib/organizations/list.js +10 -0
- package/dist/lib/organizations/select.js +9 -0
- package/dist/lib/rm.js +1 -1
- package/dist/lib/snapshots/list.js +7 -0
- package/dist/lib/snapshots/take.js +2 -0
- package/dist/lib/touch.js +1 -0
- package/dist/lib/whoami.js +3 -3
- package/dist/specs.yaml +260 -259
- package/dist/utils/messages.js +2 -2
- package/dist/utils/path.js +1 -1
- package/package.json +13 -4
- package/dist/lib/login/ui.js +0 -5
- package/dist/lib/orgs/create.js +0 -2
- package/dist/lib/orgs/list.js +0 -7
- package/dist/lib/orgs/select.js +0 -6
- /package/dist/lib/{stat.js → _stat.js} +0 -0
package/dist/specs.yaml
CHANGED
|
@@ -71,27 +71,121 @@ definitions:
|
|
|
71
71
|
value: syd
|
|
72
72
|
description: Sydney, Australia
|
|
73
73
|
|
|
74
|
-
access_options: &access_options
|
|
75
|
-
[public, private]
|
|
74
|
+
access_options: &access_options [public, private]
|
|
76
75
|
|
|
77
76
|
commands:
|
|
77
|
+
#########################
|
|
78
|
+
# Authentication
|
|
79
|
+
#########################
|
|
80
|
+
# configure
|
|
81
|
+
- name: configure
|
|
82
|
+
description: Save credentials permanently. After running this, all commands work automatically
|
|
83
|
+
alias: c
|
|
84
|
+
messages:
|
|
85
|
+
onStart: 'Saving credentials...'
|
|
86
|
+
onSuccess: 'Credentials saved to ~/.tigris/config.json. You can now use all tigris commands.'
|
|
87
|
+
onFailure: 'Failed to save credentials'
|
|
88
|
+
arguments:
|
|
89
|
+
- name: access-key
|
|
90
|
+
description: Your Tigris access key ID
|
|
91
|
+
alias: key
|
|
92
|
+
required: false
|
|
93
|
+
- name: access-secret
|
|
94
|
+
description: Your Tigris secret access key
|
|
95
|
+
alias: secret
|
|
96
|
+
required: false
|
|
97
|
+
- name: endpoint
|
|
98
|
+
description: 'Tigris API endpoint (default: https://t3.storage.dev)'
|
|
99
|
+
alias: e
|
|
100
|
+
required: false
|
|
101
|
+
|
|
102
|
+
# login
|
|
103
|
+
- name: login
|
|
104
|
+
description: Start a session. Use OAuth (default) or temporary credentials that override your saved config
|
|
105
|
+
messages:
|
|
106
|
+
onStart: ''
|
|
107
|
+
onSuccess: 'Login successful'
|
|
108
|
+
onFailure: 'Login failed'
|
|
109
|
+
alias: l
|
|
110
|
+
arguments:
|
|
111
|
+
- name: access-key
|
|
112
|
+
description: Use temporary credentials instead of OAuth (useful for testing different keys)
|
|
113
|
+
alias: key
|
|
114
|
+
required: false
|
|
115
|
+
- name: access-secret
|
|
116
|
+
description: Secret for temporary credentials
|
|
117
|
+
alias: secret
|
|
118
|
+
required: false
|
|
119
|
+
operations:
|
|
120
|
+
# login (main interactive operation)
|
|
121
|
+
- name: select
|
|
122
|
+
description: Choose how to login - OAuth (browser) or credentials (access key)
|
|
123
|
+
messages:
|
|
124
|
+
onStart: ''
|
|
125
|
+
onSuccess: 'Login successful'
|
|
126
|
+
onFailure: 'Login failed'
|
|
127
|
+
# oauth
|
|
128
|
+
- name: oauth
|
|
129
|
+
description: Login via browser (OAuth2 device flow). Best for interactive use
|
|
130
|
+
alias: o
|
|
131
|
+
messages:
|
|
132
|
+
onStart: 'Opening browser for authentication...'
|
|
133
|
+
onSuccess: "Logged in successfully\nOrganization '{{org}}' selected"
|
|
134
|
+
onFailure: 'Authentication failed'
|
|
135
|
+
onAlreadyDone: "Already logged in.\nRun \"tigris logout\" first to switch accounts."
|
|
136
|
+
hint: "You have {{count}} organizations.\nRun \"tigris orgs list\" to switch."
|
|
137
|
+
# credentials
|
|
138
|
+
- name: credentials
|
|
139
|
+
description: Login with access key + secret. Creates a temporary session (cleared on logout)
|
|
140
|
+
alias: c
|
|
141
|
+
messages:
|
|
142
|
+
onStart: 'Authenticating...'
|
|
143
|
+
onSuccess: 'Logged in with credentials'
|
|
144
|
+
onFailure: 'Authentication failed'
|
|
145
|
+
arguments:
|
|
146
|
+
- name: access-key
|
|
147
|
+
description: Your access key ID (will prompt if not provided)
|
|
148
|
+
alias: key
|
|
149
|
+
required: false
|
|
150
|
+
- name: access-secret
|
|
151
|
+
description: Your secret access key (will prompt if not provided)
|
|
152
|
+
alias: secret
|
|
153
|
+
required: false
|
|
154
|
+
default: select
|
|
155
|
+
|
|
156
|
+
# whoami
|
|
157
|
+
- name: whoami
|
|
158
|
+
description: Show information about the current user
|
|
159
|
+
alias: w
|
|
160
|
+
messages:
|
|
161
|
+
onStart: ''
|
|
162
|
+
onSuccess: ''
|
|
163
|
+
onFailure: 'Failed to get user information'
|
|
164
|
+
onAlreadyDone: "Not authenticated\nRun \"tigris login\" to authenticate"
|
|
165
|
+
|
|
166
|
+
# logout
|
|
167
|
+
- name: logout
|
|
168
|
+
description: End your session. Clears login state but keeps credentials from 'configure'
|
|
169
|
+
messages:
|
|
170
|
+
onStart: 'Logging out...'
|
|
171
|
+
onSuccess: 'Logged out. Your configured credentials are still saved.'
|
|
172
|
+
onFailure: 'Failed to logout'
|
|
173
|
+
|
|
78
174
|
#########################
|
|
79
175
|
# Unix style commands
|
|
80
176
|
#########################
|
|
81
|
-
|
|
82
177
|
# ls
|
|
83
178
|
- name: ls
|
|
84
179
|
description: List buckets or objects in a bucket or path
|
|
85
180
|
alias: list
|
|
86
181
|
arguments:
|
|
87
182
|
- name: path
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
description: a bucket or path in a bucket
|
|
183
|
+
type: positional
|
|
184
|
+
description: a bucket or path in a bucket (if not provided, lists all buckets)
|
|
91
185
|
examples:
|
|
92
186
|
- my-bucket
|
|
93
187
|
- my-bucket/my-path
|
|
94
|
-
|
|
188
|
+
|
|
95
189
|
# mk
|
|
96
190
|
- name: mk
|
|
97
191
|
description: Create a bucket or a folder in a bucket
|
|
@@ -99,25 +193,36 @@ commands:
|
|
|
99
193
|
arguments:
|
|
100
194
|
- name: path
|
|
101
195
|
required: true
|
|
102
|
-
type:
|
|
196
|
+
type: positional
|
|
103
197
|
description: a bucket or a folder in a bucket
|
|
104
198
|
examples:
|
|
105
199
|
- my-bucket
|
|
106
200
|
- my-bucket/my-path
|
|
107
|
-
|
|
201
|
+
|
|
202
|
+
# touch
|
|
203
|
+
- name: touch
|
|
204
|
+
description: Create an empty object in a bucket
|
|
205
|
+
arguments:
|
|
206
|
+
- name: path
|
|
207
|
+
required: true
|
|
208
|
+
type: positional
|
|
209
|
+
description: path to the object (bucket/key)
|
|
210
|
+
examples:
|
|
211
|
+
- my-bucket/my-file.txt
|
|
212
|
+
|
|
108
213
|
# stat
|
|
109
214
|
- name: stat
|
|
110
215
|
description: Get the details of a bucket or a folder in a bucket or an object in a bucket or path
|
|
111
216
|
arguments:
|
|
112
217
|
- name: path
|
|
113
218
|
required: true
|
|
114
|
-
type:
|
|
219
|
+
type: positional
|
|
115
220
|
description: a bucket or a folder in a bucket or an object in a bucket or path
|
|
116
221
|
examples:
|
|
117
222
|
- my-bucket
|
|
118
223
|
- my-bucket/my-path
|
|
119
224
|
- my-bucket/my-path/my-object.json
|
|
120
|
-
|
|
225
|
+
|
|
121
226
|
# cp
|
|
122
227
|
- name: cp
|
|
123
228
|
description: Copy a folder or an object
|
|
@@ -125,7 +230,7 @@ commands:
|
|
|
125
230
|
arguments:
|
|
126
231
|
- name: src
|
|
127
232
|
required: true
|
|
128
|
-
type:
|
|
233
|
+
type: positional
|
|
129
234
|
description: a bucket, a folder in a bucket, an object in a bucket / path. Wildcard is supported.
|
|
130
235
|
examples:
|
|
131
236
|
- my-bucket
|
|
@@ -133,43 +238,46 @@ commands:
|
|
|
133
238
|
- my-bucket/my-path/my-object.json
|
|
134
239
|
- name: dest
|
|
135
240
|
required: true
|
|
136
|
-
type:
|
|
241
|
+
type: positional
|
|
137
242
|
description: path to copy to
|
|
138
243
|
examples:
|
|
139
244
|
- my-bucket
|
|
140
245
|
- my-bucket/my-path
|
|
141
246
|
- my-bucket/my-path/*
|
|
142
247
|
- my-bucket/my-path/my-object.json
|
|
143
|
-
|
|
248
|
+
|
|
144
249
|
# mv
|
|
145
250
|
- name: mv
|
|
146
251
|
description: Move a folder or an object
|
|
147
252
|
alias: move
|
|
148
253
|
arguments:
|
|
149
254
|
- name: src
|
|
150
|
-
type:
|
|
255
|
+
type: positional
|
|
151
256
|
required: true
|
|
152
257
|
description: path to move from
|
|
153
258
|
examples:
|
|
154
|
-
- my-bucket
|
|
155
259
|
- my-bucket/my-path
|
|
156
260
|
- my-bucket/my-path/*
|
|
157
261
|
- my-bucket/my-path/my-object.json
|
|
158
262
|
- name: dest
|
|
159
|
-
type:
|
|
263
|
+
type: positional
|
|
160
264
|
required: true
|
|
161
265
|
description: path to move to
|
|
162
266
|
examples:
|
|
163
267
|
- my-bucket
|
|
164
268
|
- my-bucket/new-path
|
|
165
|
-
|
|
269
|
+
- name: force
|
|
270
|
+
type: flag
|
|
271
|
+
alias: f
|
|
272
|
+
description: Skip confirmation prompt
|
|
273
|
+
|
|
166
274
|
# rm
|
|
167
275
|
- name: rm
|
|
168
276
|
description: Remove a bucket or a folder in a bucket or an object in a bucket or path
|
|
169
|
-
alias:
|
|
277
|
+
alias: remove
|
|
170
278
|
arguments:
|
|
171
279
|
- name: path
|
|
172
|
-
type:
|
|
280
|
+
type: positional
|
|
173
281
|
required: true
|
|
174
282
|
description: a bucket, a folder in a bucket, an object in a bucket / path. Wildcard is supported.
|
|
175
283
|
examples:
|
|
@@ -177,137 +285,16 @@ commands:
|
|
|
177
285
|
- my-bucket/my-path
|
|
178
286
|
- my-bucket/my-path/*
|
|
179
287
|
- my-bucket/my-path/my-object.json
|
|
180
|
-
|
|
181
|
-
#########################
|
|
182
|
-
# Authentication
|
|
183
|
-
#########################
|
|
184
|
-
# logout
|
|
185
|
-
- name: logout
|
|
186
|
-
description: Logout from Tigris
|
|
187
|
-
messages:
|
|
188
|
-
onStart: "Logging out..."
|
|
189
|
-
onSuccess: "Logged out successfully"
|
|
190
|
-
onFailure: "Failed to logout"
|
|
191
|
-
|
|
192
|
-
# whoami
|
|
193
|
-
- name: whoami
|
|
194
|
-
description: Show information about the current user
|
|
195
|
-
alias: w
|
|
196
|
-
messages:
|
|
197
|
-
onStart: ""
|
|
198
|
-
onSuccess: ""
|
|
199
|
-
onFailure: "Failed to get user information"
|
|
200
|
-
onAlreadyDone: "Not authenticated\nRun \"tigris login\" to authenticate"
|
|
201
|
-
|
|
202
|
-
# configure
|
|
203
|
-
- name: configure
|
|
204
|
-
description: Configure Tigris credentials interactively
|
|
205
|
-
alias: c
|
|
206
|
-
messages:
|
|
207
|
-
onStart: "Configuring credentials..."
|
|
208
|
-
onSuccess: "Configuration saved"
|
|
209
|
-
onFailure: "Failed to configure credentials"
|
|
210
|
-
arguments:
|
|
211
|
-
- name: access-key
|
|
212
|
-
description: Tigris Access key ID
|
|
213
|
-
alias: key
|
|
214
|
-
required: false
|
|
215
|
-
- name: access-secret
|
|
216
|
-
description: Tigris Access secret
|
|
217
|
-
alias: secret
|
|
218
|
-
required: false
|
|
219
|
-
- name: endpoint
|
|
220
|
-
description: Tigris Endpoint
|
|
221
|
-
alias: e
|
|
222
|
-
required: false
|
|
223
|
-
|
|
224
|
-
# login
|
|
225
|
-
- name: login
|
|
226
|
-
description: Login to Tigris (interactive selection between user and machine)
|
|
227
|
-
messages:
|
|
228
|
-
onStart: "Logging in..."
|
|
229
|
-
onSuccess: "Login successful"
|
|
230
|
-
onFailure: "Login failed"
|
|
231
|
-
alias: l
|
|
232
|
-
arguments:
|
|
233
|
-
- name: access-key
|
|
234
|
-
description: Access key (optional, will use credentials flow if provided)
|
|
235
|
-
alias: key
|
|
236
|
-
required: false
|
|
237
|
-
- name: access-secret
|
|
238
|
-
description: Access secret (optional, will use credentials flow if provided)
|
|
239
|
-
alias: secret
|
|
240
|
-
required: false
|
|
241
|
-
- name: profile
|
|
242
|
-
description: Use saved credentials profile (loads from ~/.tigris/credentials.json)
|
|
243
|
-
alias: p
|
|
244
|
-
required: false
|
|
288
|
+
- name: force
|
|
245
289
|
type: flag
|
|
246
|
-
|
|
247
|
-
description:
|
|
248
|
-
alias: o
|
|
249
|
-
required: false
|
|
250
|
-
type: flag
|
|
251
|
-
operations:
|
|
252
|
-
# login (main interactive operation)
|
|
253
|
-
- name: select
|
|
254
|
-
description: Interactive selection between user and machine login
|
|
255
|
-
messages:
|
|
256
|
-
onStart: ""
|
|
257
|
-
onSuccess: "Login successful"
|
|
258
|
-
onFailure: "Login failed"
|
|
259
|
-
arguments:
|
|
260
|
-
- name: access-key
|
|
261
|
-
description: Access key (optional, will use credentials flow if provided)
|
|
262
|
-
alias: key
|
|
263
|
-
required: false
|
|
264
|
-
- name: access-secret
|
|
265
|
-
description: Access secret (optional, will use credentials flow if provided)
|
|
266
|
-
alias: secret
|
|
267
|
-
required: false
|
|
268
|
-
- name: profile
|
|
269
|
-
description: Use saved credentials profile (loads from ~/.tigris/credentials.json)
|
|
270
|
-
alias: p
|
|
271
|
-
required: false
|
|
272
|
-
type: flag
|
|
273
|
-
- name: oauth
|
|
274
|
-
description: Login as a user (OAuth2 flow)
|
|
275
|
-
alias: o
|
|
276
|
-
required: false
|
|
277
|
-
type: flag
|
|
278
|
-
# ui
|
|
279
|
-
- name: ui
|
|
280
|
-
description: Login as a user (OAuth2 flow)
|
|
281
|
-
alias: u
|
|
282
|
-
messages:
|
|
283
|
-
onStart: "Initiating authentication..."
|
|
284
|
-
onSuccess: "Authentication successful\nOrganization '{{org}}' selected"
|
|
285
|
-
onFailure: "Authentication failed"
|
|
286
|
-
onAlreadyDone: "You are already logged in.\nRun \"tigris logout\" first if you want to login with a different account."
|
|
287
|
-
hint: "You have {{count}} organizations available.\nRun \"tigris orgs list\" to see all and switch if needed."
|
|
288
|
-
# credentials
|
|
289
|
-
- name: credentials
|
|
290
|
-
description: Login as a machine (with access key and secret)
|
|
291
|
-
alias: c
|
|
292
|
-
messages:
|
|
293
|
-
onStart: "Authenticating with credentials..."
|
|
294
|
-
onSuccess: "Login successful"
|
|
295
|
-
onFailure: "Login failed"
|
|
296
|
-
arguments:
|
|
297
|
-
- name: access-key
|
|
298
|
-
description: Access key (optional, will prompt or use saved credentials if not provided)
|
|
299
|
-
alias: key
|
|
300
|
-
required: false
|
|
301
|
-
- name: access-secret
|
|
302
|
-
description: Access secret (optional, will prompt or use saved credentials if not provided)
|
|
303
|
-
alias: secret
|
|
304
|
-
required: false
|
|
305
|
-
default: select
|
|
290
|
+
alias: f
|
|
291
|
+
description: Skip confirmation prompt
|
|
306
292
|
|
|
307
293
|
#########################
|
|
308
294
|
# Manage organizations
|
|
309
295
|
#########################
|
|
310
|
-
- name:
|
|
296
|
+
- name: organizations
|
|
297
|
+
alias: orgs
|
|
311
298
|
description: Manage organizations
|
|
312
299
|
operations:
|
|
313
300
|
# list
|
|
@@ -315,9 +302,9 @@ commands:
|
|
|
315
302
|
description: List organizations
|
|
316
303
|
alias: l
|
|
317
304
|
messages:
|
|
318
|
-
onStart:
|
|
305
|
+
onStart: 'Listing organizations...'
|
|
319
306
|
onSuccess: "Organization '{{name}}' selected"
|
|
320
|
-
onFailure:
|
|
307
|
+
onFailure: 'Failed to select organization'
|
|
321
308
|
onEmpty: "No organizations found. You may need to re-authenticate.\nRun: tigris login"
|
|
322
309
|
arguments:
|
|
323
310
|
- name: format
|
|
@@ -333,25 +320,25 @@ commands:
|
|
|
333
320
|
description: Create organization
|
|
334
321
|
alias: c
|
|
335
322
|
messages:
|
|
336
|
-
onStart:
|
|
323
|
+
onStart: 'Creating organization...'
|
|
337
324
|
onSuccess: "Organization '{{name}}' created successfully\nOrganization ID: {{id}}"
|
|
338
|
-
onFailure:
|
|
325
|
+
onFailure: 'Failed to create organization'
|
|
339
326
|
hint: "Next steps:\n - Select this organization: tigris orgs select {{name}}"
|
|
340
327
|
arguments:
|
|
341
328
|
- name: name
|
|
342
|
-
type:
|
|
329
|
+
type: positional
|
|
343
330
|
required: true
|
|
344
331
|
description: Name of the organization
|
|
345
332
|
- name: select
|
|
346
333
|
description: Select the organization to use
|
|
347
334
|
alias: s
|
|
348
335
|
messages:
|
|
349
|
-
onStart:
|
|
336
|
+
onStart: ''
|
|
350
337
|
onSuccess: "Organization '{{name}}' selected"
|
|
351
|
-
onFailure:
|
|
338
|
+
onFailure: 'Failed to select organization'
|
|
352
339
|
arguments:
|
|
353
340
|
- name: name
|
|
354
|
-
type:
|
|
341
|
+
type: positional
|
|
355
342
|
required: true
|
|
356
343
|
description: Name of the organization
|
|
357
344
|
|
|
@@ -367,10 +354,10 @@ commands:
|
|
|
367
354
|
description: List buckets
|
|
368
355
|
alias: l
|
|
369
356
|
messages:
|
|
370
|
-
onStart:
|
|
371
|
-
onSuccess:
|
|
372
|
-
onFailure:
|
|
373
|
-
onEmpty:
|
|
357
|
+
onStart: 'Listing buckets...'
|
|
358
|
+
onSuccess: 'Found {{count}} bucket(s)'
|
|
359
|
+
onFailure: 'Failed to list buckets'
|
|
360
|
+
onEmpty: 'No buckets found'
|
|
374
361
|
arguments:
|
|
375
362
|
- name: format
|
|
376
363
|
description: Format
|
|
@@ -382,13 +369,13 @@ commands:
|
|
|
382
369
|
description: Create bucket
|
|
383
370
|
alias: [c]
|
|
384
371
|
messages:
|
|
385
|
-
onStart:
|
|
372
|
+
onStart: 'Creating bucket...'
|
|
386
373
|
onSuccess: "Bucket '{{name}}' created successfully"
|
|
387
|
-
onFailure:
|
|
374
|
+
onFailure: 'Failed to create bucket'
|
|
388
375
|
arguments:
|
|
389
376
|
- name: name
|
|
390
377
|
description: Name of the bucket
|
|
391
|
-
type:
|
|
378
|
+
type: positional
|
|
392
379
|
required: false
|
|
393
380
|
- name: access
|
|
394
381
|
description: Access level
|
|
@@ -420,29 +407,29 @@ commands:
|
|
|
420
407
|
description: Get bucket details
|
|
421
408
|
alias: g
|
|
422
409
|
messages:
|
|
423
|
-
onStart:
|
|
424
|
-
onSuccess:
|
|
425
|
-
onFailure:
|
|
410
|
+
onStart: 'Getting bucket details...'
|
|
411
|
+
onSuccess: ''
|
|
412
|
+
onFailure: 'Failed to get bucket details'
|
|
426
413
|
arguments:
|
|
427
414
|
- name: name
|
|
428
415
|
description: Name of the bucket
|
|
429
|
-
type:
|
|
416
|
+
type: positional
|
|
430
417
|
required: true
|
|
431
418
|
# delete
|
|
432
419
|
- name: delete
|
|
433
420
|
description: Delete bucket
|
|
434
421
|
alias: d
|
|
435
422
|
messages:
|
|
436
|
-
onStart:
|
|
423
|
+
onStart: 'Deleting bucket...'
|
|
437
424
|
onSuccess: "Bucket '{{name}}' deleted successfully"
|
|
438
425
|
onFailure: "Failed to delete bucket '{{name}}'"
|
|
439
426
|
arguments:
|
|
440
427
|
- name: name
|
|
441
428
|
description: Name of the bucket or comma separated list of buckets
|
|
442
|
-
type:
|
|
429
|
+
type: positional
|
|
443
430
|
required: true
|
|
444
431
|
multiple: true
|
|
445
|
-
|
|
432
|
+
|
|
446
433
|
#########################
|
|
447
434
|
# Manage forks
|
|
448
435
|
#########################
|
|
@@ -452,27 +439,44 @@ commands:
|
|
|
452
439
|
operations:
|
|
453
440
|
# list
|
|
454
441
|
- name: list
|
|
455
|
-
description: List forks
|
|
442
|
+
description: List forks of a bucket
|
|
456
443
|
alias: l
|
|
444
|
+
messages:
|
|
445
|
+
onStart: 'Listing forks...'
|
|
446
|
+
onSuccess: 'Found {{count}} fork(s)'
|
|
447
|
+
onFailure: 'Failed to list forks'
|
|
448
|
+
onEmpty: 'No forks found for this bucket'
|
|
457
449
|
arguments:
|
|
458
450
|
- name: name
|
|
459
|
-
description: Name of the bucket
|
|
460
|
-
type:
|
|
451
|
+
description: Name of the source bucket
|
|
452
|
+
type: positional
|
|
461
453
|
required: true
|
|
454
|
+
- name: format
|
|
455
|
+
description: Output format
|
|
456
|
+
alias: f
|
|
457
|
+
options: [json, table, xml]
|
|
458
|
+
default: table
|
|
462
459
|
# create
|
|
463
460
|
- name: create
|
|
464
|
-
description: Create fork
|
|
461
|
+
description: Create a fork of a bucket
|
|
465
462
|
alias: c
|
|
463
|
+
messages:
|
|
464
|
+
onStart: 'Creating fork...'
|
|
465
|
+
onSuccess: "Fork '{{forkName}}' created from '{{name}}'"
|
|
466
|
+
onFailure: 'Failed to create fork'
|
|
466
467
|
arguments:
|
|
467
468
|
- name: name
|
|
468
|
-
description: Name of the bucket
|
|
469
|
-
type:
|
|
469
|
+
description: Name of the source bucket
|
|
470
|
+
type: positional
|
|
470
471
|
required: true
|
|
471
472
|
- name: fork-name
|
|
472
|
-
description: Name
|
|
473
|
-
type:
|
|
473
|
+
description: Name for the new fork
|
|
474
|
+
type: positional
|
|
474
475
|
required: true
|
|
475
|
-
|
|
476
|
+
- name: snapshot
|
|
477
|
+
description: Create fork from a specific snapshot
|
|
478
|
+
alias: s
|
|
479
|
+
|
|
476
480
|
#########################
|
|
477
481
|
# Manage snapshots
|
|
478
482
|
#########################
|
|
@@ -480,28 +484,42 @@ commands:
|
|
|
480
484
|
description: Manage snapshots
|
|
481
485
|
alias: s
|
|
482
486
|
operations:
|
|
483
|
-
# list
|
|
487
|
+
# list
|
|
484
488
|
- name: list
|
|
485
|
-
description: List snapshots
|
|
489
|
+
description: List snapshots of a bucket
|
|
486
490
|
alias: l
|
|
491
|
+
messages:
|
|
492
|
+
onStart: 'Listing snapshots...'
|
|
493
|
+
onSuccess: 'Found {{count}} snapshot(s)'
|
|
494
|
+
onFailure: 'Failed to list snapshots'
|
|
495
|
+
onEmpty: 'No snapshots found for this bucket'
|
|
487
496
|
arguments:
|
|
488
497
|
- name: name
|
|
489
498
|
description: Name of the bucket
|
|
490
|
-
type:
|
|
499
|
+
type: positional
|
|
491
500
|
required: true
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
501
|
+
- name: format
|
|
502
|
+
description: Output format
|
|
503
|
+
alias: f
|
|
504
|
+
options: [json, table, xml]
|
|
505
|
+
default: table
|
|
506
|
+
# take
|
|
507
|
+
- name: take
|
|
508
|
+
description: Take a snapshot of a bucket
|
|
509
|
+
alias: t
|
|
510
|
+
messages:
|
|
511
|
+
onStart: 'Taking snapshot...'
|
|
512
|
+
onSuccess: "Snapshot '{{snapshotName}}' taken for bucket '{{name}}'"
|
|
513
|
+
onFailure: 'Failed to take snapshot'
|
|
496
514
|
arguments:
|
|
497
515
|
- name: name
|
|
498
516
|
description: Name of the bucket
|
|
499
|
-
type:
|
|
517
|
+
type: positional
|
|
500
518
|
required: true
|
|
501
519
|
- name: snapshot-name
|
|
502
|
-
description: Name of the snapshot
|
|
503
|
-
type:
|
|
504
|
-
required:
|
|
520
|
+
description: Name of the snapshot (optional)
|
|
521
|
+
type: positional
|
|
522
|
+
required: false
|
|
505
523
|
|
|
506
524
|
#########################
|
|
507
525
|
# Manage objects
|
|
@@ -512,52 +530,70 @@ commands:
|
|
|
512
530
|
operations:
|
|
513
531
|
# list
|
|
514
532
|
- name: list
|
|
515
|
-
description: List objects
|
|
533
|
+
description: List objects in a bucket
|
|
516
534
|
alias: l
|
|
535
|
+
messages:
|
|
536
|
+
onStart: 'Listing objects...'
|
|
537
|
+
onSuccess: 'Found {{count}} object(s)'
|
|
538
|
+
onFailure: 'Failed to list objects'
|
|
539
|
+
onEmpty: 'No objects found'
|
|
517
540
|
arguments:
|
|
518
541
|
- name: bucket
|
|
519
542
|
description: Name of the bucket
|
|
520
|
-
|
|
543
|
+
type: positional
|
|
521
544
|
required: true
|
|
545
|
+
- name: prefix
|
|
546
|
+
description: Filter objects by prefix
|
|
547
|
+
alias: p
|
|
522
548
|
- name: format
|
|
523
|
-
description:
|
|
549
|
+
description: Output format
|
|
524
550
|
alias: f
|
|
525
551
|
options: [json, table, xml]
|
|
526
552
|
default: table
|
|
527
553
|
# get
|
|
528
554
|
- name: get
|
|
529
|
-
description: Get object
|
|
555
|
+
description: Get an object
|
|
530
556
|
alias: g
|
|
557
|
+
messages:
|
|
558
|
+
onStart: 'Getting object...'
|
|
559
|
+
onSuccess: ''
|
|
560
|
+
onFailure: 'Failed to get object'
|
|
531
561
|
arguments:
|
|
532
562
|
- name: bucket
|
|
533
563
|
description: Name of the bucket
|
|
534
|
-
type:
|
|
564
|
+
type: positional
|
|
535
565
|
required: true
|
|
536
566
|
- name: key
|
|
537
|
-
description:
|
|
538
|
-
type:
|
|
567
|
+
description: Key of the object
|
|
568
|
+
type: positional
|
|
539
569
|
required: true
|
|
540
|
-
- name:
|
|
541
|
-
description:
|
|
542
|
-
alias:
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
570
|
+
- name: output
|
|
571
|
+
description: Output file path (if not specified, prints to stdout)
|
|
572
|
+
alias: o
|
|
573
|
+
- name: mode
|
|
574
|
+
description: Response mode (auto-detected from extension if not specified)
|
|
575
|
+
alias: m
|
|
576
|
+
options: [string, stream]
|
|
577
|
+
# put
|
|
578
|
+
- name: put
|
|
579
|
+
description: Upload an object
|
|
580
|
+
alias: p
|
|
581
|
+
messages:
|
|
582
|
+
onStart: 'Uploading object...'
|
|
583
|
+
onSuccess: "Object '{{key}}' uploaded successfully"
|
|
584
|
+
onFailure: 'Failed to upload object'
|
|
549
585
|
arguments:
|
|
550
586
|
- name: bucket
|
|
551
587
|
description: Name of the bucket
|
|
552
|
-
type:
|
|
588
|
+
type: positional
|
|
553
589
|
required: true
|
|
554
|
-
- name:
|
|
555
|
-
description:
|
|
556
|
-
type:
|
|
590
|
+
- name: key
|
|
591
|
+
description: Key for the object
|
|
592
|
+
type: positional
|
|
557
593
|
required: true
|
|
558
|
-
- name:
|
|
559
|
-
description:
|
|
560
|
-
|
|
594
|
+
- name: file
|
|
595
|
+
description: Path to the file to upload
|
|
596
|
+
type: positional
|
|
561
597
|
required: true
|
|
562
598
|
- name: access
|
|
563
599
|
description: Access level
|
|
@@ -566,62 +602,27 @@ commands:
|
|
|
566
602
|
default: private
|
|
567
603
|
- name: content-type
|
|
568
604
|
description: Content type
|
|
569
|
-
alias: c
|
|
570
|
-
- name: content-disposition
|
|
571
|
-
description: Content disposition
|
|
572
|
-
alias: d
|
|
573
|
-
- name: tier
|
|
574
|
-
description: Tier
|
|
575
605
|
alias: t
|
|
576
|
-
|
|
577
|
-
|
|
606
|
+
- name: format
|
|
607
|
+
description: Output format
|
|
608
|
+
alias: f
|
|
609
|
+
options: [json, table, xml]
|
|
610
|
+
default: table
|
|
578
611
|
# delete
|
|
579
612
|
- name: delete
|
|
580
|
-
description: Delete object
|
|
613
|
+
description: Delete an object
|
|
581
614
|
alias: d
|
|
615
|
+
messages:
|
|
616
|
+
onStart: 'Deleting object...'
|
|
617
|
+
onSuccess: "Object '{{key}}' deleted successfully"
|
|
618
|
+
onFailure: 'Failed to delete object'
|
|
582
619
|
arguments:
|
|
583
620
|
- name: bucket
|
|
584
621
|
description: Name of the bucket
|
|
585
|
-
type:
|
|
622
|
+
type: positional
|
|
586
623
|
required: true
|
|
587
624
|
- name: key
|
|
588
|
-
description:
|
|
589
|
-
type:
|
|
590
|
-
required: true
|
|
591
|
-
multiple: true
|
|
592
|
-
# copy
|
|
593
|
-
- name: copy
|
|
594
|
-
description: Copy object
|
|
595
|
-
alias: c
|
|
596
|
-
arguments:
|
|
597
|
-
- name: bucket
|
|
598
|
-
description: Name of the bucket
|
|
599
|
-
type: noun
|
|
600
|
-
required: true
|
|
601
|
-
- name: name
|
|
602
|
-
description: Name of the object (comma separated names for multiple objects)
|
|
603
|
-
type: noun
|
|
625
|
+
description: Key of the object (comma separated for multiple)
|
|
626
|
+
type: positional
|
|
604
627
|
required: true
|
|
605
628
|
multiple: true
|
|
606
|
-
- name: destination
|
|
607
|
-
description: Destination
|
|
608
|
-
type: noun
|
|
609
|
-
required: true
|
|
610
|
-
# move
|
|
611
|
-
- name: move
|
|
612
|
-
description: Move object
|
|
613
|
-
alias: m
|
|
614
|
-
arguments:
|
|
615
|
-
- name: bucket
|
|
616
|
-
description: Name of the bucket
|
|
617
|
-
type: noun
|
|
618
|
-
required: true
|
|
619
|
-
- name: source
|
|
620
|
-
description: Name of the object (comma separated names for multiple objects)
|
|
621
|
-
type: noun
|
|
622
|
-
required: true
|
|
623
|
-
multiple: true
|
|
624
|
-
- name: destination
|
|
625
|
-
description: Destination
|
|
626
|
-
type: noun
|
|
627
|
-
required: true
|