aspera-cli 4.23.0 → 4.24.1

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 (110) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +37 -1
  4. data/CONTRIBUTING.md +86 -29
  5. data/README.md +2109 -1300
  6. data/bin/ascli +2 -1
  7. data/bin/asession +4 -4
  8. data/lib/aspera/agent/base.rb +4 -0
  9. data/lib/aspera/agent/connect.rb +20 -18
  10. data/lib/aspera/agent/desktop.rb +14 -11
  11. data/lib/aspera/agent/direct.rb +39 -31
  12. data/lib/aspera/agent/httpgw.rb +2 -2
  13. data/lib/aspera/agent/node.rb +9 -11
  14. data/lib/aspera/agent/transferd.rb +18 -11
  15. data/lib/aspera/api/aoc.rb +44 -31
  16. data/lib/aspera/api/cos_node.rb +7 -5
  17. data/lib/aspera/api/httpgw.rb +15 -18
  18. data/lib/aspera/api/node.rb +104 -22
  19. data/lib/aspera/ascmd.rb +22 -16
  20. data/lib/aspera/ascp/installation.rb +37 -40
  21. data/lib/aspera/ascp/management.rb +5 -4
  22. data/lib/aspera/assert.rb +54 -23
  23. data/lib/aspera/cli/basic_auth_plugin.rb +8 -7
  24. data/lib/aspera/cli/error.rb +1 -1
  25. data/lib/aspera/cli/extended_value.rb +28 -29
  26. data/lib/aspera/cli/formatter.rb +191 -168
  27. data/lib/aspera/cli/hints.rb +29 -3
  28. data/lib/aspera/cli/main.rb +138 -107
  29. data/lib/aspera/cli/manager.rb +50 -30
  30. data/lib/aspera/cli/plugin.rb +148 -77
  31. data/lib/aspera/cli/plugin_factory.rb +2 -2
  32. data/lib/aspera/cli/plugins/aoc.rb +189 -70
  33. data/lib/aspera/cli/plugins/ats.rb +15 -13
  34. data/lib/aspera/cli/plugins/config.rb +100 -214
  35. data/lib/aspera/cli/plugins/console.rb +49 -18
  36. data/lib/aspera/cli/plugins/cos.rb +4 -4
  37. data/lib/aspera/cli/plugins/faspex.rb +45 -51
  38. data/lib/aspera/cli/plugins/faspex5.rb +164 -165
  39. data/lib/aspera/cli/plugins/faspio.rb +6 -5
  40. data/lib/aspera/cli/plugins/httpgw.rb +2 -2
  41. data/lib/aspera/cli/plugins/node.rb +144 -162
  42. data/lib/aspera/cli/plugins/orchestrator.rb +10 -14
  43. data/lib/aspera/cli/plugins/preview.rb +26 -29
  44. data/lib/aspera/cli/plugins/server.rb +28 -28
  45. data/lib/aspera/cli/plugins/shares.rb +40 -28
  46. data/lib/aspera/cli/sync_actions.rb +101 -80
  47. data/lib/aspera/cli/transfer_agent.rb +51 -50
  48. data/lib/aspera/cli/transfer_progress.rb +29 -20
  49. data/lib/aspera/cli/version.rb +1 -1
  50. data/lib/aspera/cli/wizard.rb +157 -0
  51. data/lib/aspera/colors.rb +13 -8
  52. data/lib/aspera/command_line_builder.rb +28 -22
  53. data/lib/aspera/command_line_converter.rb +31 -0
  54. data/lib/aspera/environment.rb +145 -101
  55. data/lib/aspera/faspex_gw.rb +1 -1
  56. data/lib/aspera/faspex_postproc.rb +3 -2
  57. data/lib/aspera/hash_ext.rb +1 -1
  58. data/lib/aspera/id_generator.rb +10 -10
  59. data/lib/aspera/keychain/base.rb +18 -0
  60. data/lib/aspera/keychain/encrypted_hash.rb +6 -12
  61. data/lib/aspera/keychain/factory.rb +9 -3
  62. data/lib/aspera/keychain/hashicorp_vault.rb +9 -6
  63. data/lib/aspera/keychain/macos_security.rb +13 -13
  64. data/lib/aspera/log.rb +91 -19
  65. data/lib/aspera/nagios.rb +5 -6
  66. data/lib/aspera/node_simulator.rb +12 -7
  67. data/lib/aspera/oauth/base.rb +5 -3
  68. data/lib/aspera/oauth/factory.rb +24 -18
  69. data/lib/aspera/oauth/jwt.rb +13 -1
  70. data/lib/aspera/oauth/url_json.rb +3 -3
  71. data/lib/aspera/oauth/web.rb +5 -3
  72. data/lib/aspera/persistency_folder.rb +2 -2
  73. data/lib/aspera/preview/file_types.rb +4 -3
  74. data/lib/aspera/preview/generator.rb +25 -12
  75. data/lib/aspera/preview/terminal.rb +10 -7
  76. data/lib/aspera/preview/utils.rb +11 -9
  77. data/lib/aspera/products/connect.rb +1 -1
  78. data/lib/aspera/products/desktop.rb +1 -1
  79. data/lib/aspera/products/other.rb +2 -2
  80. data/lib/aspera/products/transferd.rb +8 -6
  81. data/lib/aspera/proxy_auto_config.rb +1 -1
  82. data/lib/aspera/rest.rb +29 -22
  83. data/lib/aspera/rest_call_error.rb +1 -1
  84. data/lib/aspera/resumer.rb +1 -1
  85. data/lib/aspera/secret_hider.rb +46 -40
  86. data/lib/aspera/ssh.rb +13 -3
  87. data/lib/aspera/sync/args.schema.yaml +102 -0
  88. data/lib/aspera/sync/conf.schema.yaml +701 -0
  89. data/lib/aspera/sync/database.rb +83 -0
  90. data/lib/aspera/sync/operations.rb +296 -0
  91. data/lib/aspera/temp_file_manager.rb +3 -2
  92. data/lib/aspera/transfer/error.rb +1 -1
  93. data/lib/aspera/transfer/error_info.rb +1 -2
  94. data/lib/aspera/transfer/faux_file.rb +11 -10
  95. data/lib/aspera/transfer/parameters.rb +6 -5
  96. data/lib/aspera/transfer/spec.rb +15 -1
  97. data/lib/aspera/transfer/spec.schema.yaml +316 -293
  98. data/lib/aspera/transfer/spec_doc.rb +34 -16
  99. data/lib/aspera/transfer/uri.rb +5 -5
  100. data/lib/aspera/uri_reader.rb +14 -10
  101. data/lib/aspera/web_auth.rb +2 -2
  102. data/lib/aspera/web_server_simple.rb +2 -2
  103. data.tar.gz.sig +0 -0
  104. metadata +15 -13
  105. metadata.gz.sig +0 -0
  106. data/lib/aspera/transfer/async_conf.schema.yaml +0 -716
  107. data/lib/aspera/transfer/convert.rb +0 -29
  108. data/lib/aspera/transfer/sync.rb +0 -232
  109. data/lib/aspera/transfer/sync_instance.schema.yaml +0 -20
  110. data/lib/aspera/transfer/sync_session.schema.yaml +0 -86
@@ -7,52 +7,54 @@ title: Aspera Transfer Specification
7
7
  description: Information defining an Aspera transfer.
8
8
  type: object
9
9
  required:
10
- - destination_root
11
- - direction
12
- - paths
13
- - remote_host
14
- - remote_user
10
+ - destination_root
11
+ - direction
12
+ - paths
13
+ - remote_host
14
+ - remote_user
15
15
  properties:
16
16
  apply_local_docroot:
17
17
  description: Apply local docroot to source paths.
18
18
  x-agents:
19
- - direct
20
- - transferd
19
+ - direct
20
+ - transferd
21
21
  x-cli-switch: true
22
22
  cipher:
23
23
  description: In transit encryption algorithms.
24
24
  enum:
25
- - none
26
- - aes-128
27
- - aes-192
28
- - aes-256
29
- - aes-128-cfb
30
- - aes-192-cfb
31
- - aes-256-cfb
32
- - aes-128-gcm
33
- - aes-192-gcm
34
- - aes-256-gcm
25
+ - none
26
+ - aes-128
27
+ - aes-192
28
+ - aes-256
29
+ - aes-128-cfb
30
+ - aes-192-cfb
31
+ - aes-256-cfb
32
+ - aes-128-gcm
33
+ - aes-192-gcm
34
+ - aes-256-gcm
35
35
  default: none
36
- x-cli-option: "-c"
36
+ x-cli-option: -c
37
37
  x-cli-convert: remove_hyphen
38
38
  content_protection:
39
- description: Enable client-side encryption at rest. (CSEAR, content protection)
39
+ description: Enable client-side encryption at rest (CSEAR).
40
+ (content protection)
40
41
  enum:
41
- - encrypt
42
- - decrypt
43
- x-cli-option: "--file-crypt"
42
+ - encrypt
43
+ - decrypt
44
+ x-cli-option: --file-crypt
44
45
  content_protection_password:
45
- description: "Specifies CSEAR password. (content protection)"
46
+ description: Specifies CSEAR password.
47
+ (content protection)
46
48
  type: string
47
49
  x-cli-envvar: ASPERA_SCP_FILEPASS
48
50
  cookie:
49
- description: Metadata for transfer specified by application
51
+ description: Metadata for transfer specified by application.
50
52
  type: string
51
53
  x-cli-envvar: ASPERA_SCP_COOKIE
52
54
  create_dir:
53
55
  description: Specifies whether to create new directories.
54
56
  type: boolean
55
- x-cli-option: "-d"
57
+ x-cli-option: -d
56
58
  x-cli-switch: true
57
59
  delete_before_transfer:
58
60
  description: >-
@@ -63,14 +65,15 @@ properties:
63
65
  Objects on the destination that have the same name but different type or size as objects
64
66
  on the source are not deleted.
65
67
  x-cli-switch: true
66
- delete_source: # duplicate of remove_after_transfer ?
67
- description: Remove SRC files after transfer success
68
+ delete_source:
69
+ description: Remove transfered source files after transfer success.
70
+ TODO equivalent to `remove_after_transfer` + `remove_empty_directories` + `remove_empty_source_directory`
68
71
  type: boolean
69
72
  x-agents:
70
- - node
71
- - direct
72
- - transferd
73
- x-cli-option: "--remove-after-transfer"
73
+ - node
74
+ - direct
75
+ - transferd
76
+ x-cli-option: --remove-after-transfer
74
77
  x-cli-switch: true
75
78
  destination_root:
76
79
  description: Destination root directory.
@@ -82,13 +85,13 @@ properties:
82
85
  Required when using Bearer token auth for the destination node.
83
86
  type: string
84
87
  x-agents:
85
- - transferd
88
+ - transferd
86
89
  direction:
87
- description: 'Direction of transfer (on client side)'
90
+ description: Direction of transfer (on client side).
88
91
  enum:
89
- - send
90
- - receive
91
- x-cli-option: "--mode"
92
+ - send
93
+ - receive
94
+ x-cli-option: --mode
92
95
  x-cli-convert:
93
96
  receive: recv
94
97
  send: send
@@ -97,102 +100,102 @@ properties:
97
100
  Exclude files, but not directories, from the transfer if they are newer
98
101
  than the specified number of seconds added to the source computer's epoch.
99
102
 
100
- e.g. "-86400" for newer than a day back.
103
+ e.g. `-86400` for newer than a day back.
101
104
  type: string
102
105
  exclude_older_than:
103
106
  description: >-
104
107
  Exclude files, but not directories, from the transfer if they are older
105
108
  than the specified number of seconds added to the source computer's epoch.
106
109
 
107
- e.g. "-86400" for older than a day back.
110
+ e.g. `-86400` for older than a day back.
108
111
  type: string
109
112
  fail_bad_filepass:
110
113
  description: Fail on bad file decryption passphrase.
111
114
  type: boolean
112
115
  x-cli-switch: true
113
116
  x-agents:
114
- - direct
115
- - transferd
117
+ - direct
118
+ - transferd
116
119
  fasp_port:
117
120
  description: Specifies fasp (UDP) port.
118
121
  type: integer
119
122
  default: 33001
120
- x-cli-option: "-O"
123
+ x-cli-option: -O
121
124
  fasp_proxy:
122
- description: Proxy for communications between the remote server and the (local) client.
125
+ description: Proxy for communications between the remote server and the (local) client.
123
126
  type: object
124
127
  x-agents:
125
- - transferd
128
+ - transferd
126
129
  file_checksum:
127
- description: "Enable checksum reporting for transferred files by specifying the hash to use."
130
+ description: Enable checksum reporting for transferred files by specifying the hash to use.
128
131
  enum:
129
- - sha-512
130
- - sha-384
131
- - sha-256
132
- - sha1
133
- - md5
134
- - none
132
+ - sha-512
133
+ - sha-384
134
+ - sha-256
135
+ - sha1
136
+ - md5
137
+ - none
135
138
  default: none
136
139
  x-agents:
137
- - node
138
- - direct
140
+ - node
141
+ - direct
139
142
  http_fallback:
140
143
  description: When true(1), attempts to perform an HTTP transfer if a FASP transfer cannot be performed.
141
144
  type:
142
- - boolean
143
- - string
144
- x-cli-option: "-y"
145
+ - boolean
146
+ - string
147
+ x-cli-option: -y
145
148
  x-cli-convert:
146
149
  force: F
147
150
  true: 1
148
151
  false: 0
149
152
  http_fallback_port:
150
- description: Specifies http port when no cipher is used
153
+ description: Specifies HTTP port when no cipher is used.
151
154
  type: integer
152
- x-cli-option: "-t"
155
+ x-cli-option: -t
153
156
  https_fallback_port:
154
- description: Specifies https port when cipher is used
157
+ description: Specifies HTTPS port when cipher is used.
155
158
  type: integer
156
- x-cli-option: "-t"
159
+ x-cli-option: -t
157
160
  icos:
158
161
  description: Configuration parameters for IBM Cloud Object Storage (ICOS).
159
162
  type: object
160
163
  x-agents:
161
- - transferd
164
+ - transferd
162
165
  lock_min_rate:
163
166
  description: "TODO: remove ?"
164
167
  type: boolean
165
168
  x-agents:
166
- - connect
169
+ - connect
167
170
  lock_min_rate_kbps:
168
171
  description: >-
169
- If true, lock the minimum transfer rate to the value set for min_rate_kbps.
172
+ If `true`, lock the minimum transfer rate to the value set for min_rate_kbps.
170
173
 
171
- If false, users can adjust the transfer rate up to the value set for target_rate_cap_kbps.
174
+ If `false`, users can adjust the transfer rate up to the value set for target_rate_cap_kbps.
172
175
  type: boolean
173
176
  x-agents:
174
- - transferd
175
- - connect
177
+ - transferd
178
+ - connect
176
179
  lock_rate_policy:
177
- description: If true, lock the rate policy to the default value.
180
+ description: If `true`, lock the rate policy to the default value.
178
181
  type: boolean
179
182
  x-agents:
180
- - transferd
181
- - connect
183
+ - transferd
184
+ - connect
182
185
  lock_target_rate:
183
186
  description: "TODO: remove ?"
184
187
  type: boolean
185
188
  x-agents:
186
- - connect
189
+ - connect
187
190
  lock_target_rate_kbps:
188
191
  description: >-
189
- If true, lock the target transfer rate to the default value set for target_rate_kbps.
192
+ If `true`, lock the target transfer rate to the default value set for target_rate_kbps.
190
193
 
191
- If false, users can adjust the transfer rate up to the value set for target_rate_cap_kbps.
194
+ If `false`, users can adjust the transfer rate up to the value set for target_rate_cap_kbps.
192
195
  type: boolean
193
196
  x-agents:
194
- - transferd
195
- - connect
197
+ - transferd
198
+ - connect
196
199
  min_rate_cap_kbps:
197
200
  description: >-
198
201
  The highest minimum rate that an incoming transfer can request, in kilobits per second.
@@ -202,26 +205,44 @@ properties:
202
205
  The default value of unlimited applies no cap to the minimum rate. (Default: 0)
203
206
  type: integer
204
207
  x-agents:
205
- - connect
206
- - transferd
208
+ - connect
209
+ - transferd
207
210
  move_after_transfer:
208
211
  description: >-
209
- The relative path to which the files will be moved after the transfer at the source side.
212
+ Move source files to the specified `archive-dir` directory after they are transferred correctly.
213
+
210
214
  Available as of 3.8.0.
215
+ Details in ascp manual.
216
+
217
+ Requires write permissions on the source.
218
+
219
+ If `src_base` is specified, files are moved to `archive-dir`/`path-relative-to-srcbase`.
220
+
221
+ `archive-dir` must be in the same file system (or cloud storage account) as the source files being transferred.
222
+
223
+ `archive-dir` is subject to the same docroot restrictions as source files.
224
+
225
+ `move_after_transfer` and `remove_after_transfer` are mutually exclusive options.
226
+
227
+ After files have been moved to the archive, the original source directory structure is left in place.
228
+ Empty directories are not saved to `archive-dir`.
229
+ To remove empty source directories after a successful move operation, also set `remove_empty_directories` to `true`.
230
+ When using `remove_empty_directories`, empty directory removal examination starts at the `srcbase` and proceeds down any subdirectories.
231
+ If no `srcbase` is used and a file path (as opposed to a directory path) is specified, then only the immediate parent directory is examined and removed if it is empty following the move of the source file.
211
232
  type: string
212
233
  x-agents:
213
- - direct
214
- - node
215
- - transferd
234
+ - direct
235
+ - node
236
+ - transferd
216
237
  multi_session:
217
238
  description: >-
218
239
  Use multi-session transfer. max 128.
219
240
 
220
241
  Each participant on one host needs an independent UDP (-O) port.
221
242
 
222
- Large files are split between sessions only when transferring with resume_policy=none.
243
+ Large files are split between sessions only when transferring with `resume_policy`=`none`.
223
244
  type: integer
224
- x-cli-option: "-C"
245
+ x-cli-option: -C
225
246
  x-cli-special: true
226
247
  multi_session_threshold:
227
248
  description: >-
@@ -231,68 +252,68 @@ properties:
231
252
  (0=no file is split)
232
253
  type: integer
233
254
  x-agents:
234
- - direct
235
- - node
236
- - transferd
255
+ - direct
256
+ - node
257
+ - transferd
237
258
  overwrite:
238
259
  description: >-
239
260
  Overwrite files at the destination with source files of the same name based
240
261
  on the policy:
241
-
242
- - always Always overwrite the file.
243
-
244
- - never Never overwrite the file.
262
+
263
+ - `always` : Always overwrite the file.
264
+
265
+ - `never` : Never overwrite the file.
245
266
  If the destination contains partial files that are older or the same
246
267
  as the source files and resume is enabled, the partial files resume transfer.
247
268
  Partial files with checksums or sizes that differ from the source files
248
269
  are not overwritten.
249
-
250
- - diff Overwrite the file if it is different from the source,
251
- depending on the compare method (default is size).
252
- If the destination is object storage, diff has the same effect as always.
270
+
271
+ - `diff` : (default) Overwrite the file if it is different from the source,
272
+ depending on the compare method (default is size).
273
+ If the destination is object storage, `diff` has the same effect as always.
253
274
  If resume is not enabled, partial files are overwritten if they are different
254
- from the source, otherwise they are skipped.
275
+ from the source, otherwise they are skipped.
255
276
  If resume is enabled, only partial files with different sizes or checksums
256
- from the source are overwritten; otherwise, files resume.
257
-
258
- - diff+older Overwrite the file if it is older and different from the source,
259
- depending on the compare method (default is size).
277
+ from the source are overwritten; otherwise, files resume.
278
+
279
+ - `diff+older` : Overwrite the file if it is older and different from the source,
280
+ depending on the compare method (default is size).
260
281
  If resume is not enabled, partial files are overwritten if they are older
261
- and different from the source, otherwise they are skipped.
282
+ and different from the source, otherwise they are skipped.
262
283
  If resume is enabled, only partial files that are different and older than
263
- the source are overwritten, otherwise they are resumed.
264
-
265
- - older Overwrite the file if its timestamp is older than the source timestamp.
266
-
267
- If you set an overwrite policy of diff or diff+older, difference is determined
268
- by the value set for resume_policy:
269
-
270
- "none" - the source and destination files are always considered different and
284
+ the source are overwritten, otherwise they are resumed.
285
+
286
+ - `older` : Overwrite the file if its timestamp is older than the source timestamp.
287
+
288
+ If you set an overwrite policy of `diff` or `diff+older`, difference is determined
289
+ by the value set for `resume_policy`:
290
+
291
+ `none` : The source and destination files are always considered different and
271
292
  the destination file is always overwritten
272
-
273
- "attributes" - the source and destination files are compared based on file attributes
274
-
275
- "sparse_checksum" - the source and destination files are compared based on sparse checksums, (currently file size)
276
-
277
- "full_checksum" - the source and destination files are compared based on full checksums
293
+
294
+ `attributes` : The source and destination files are compared based on file attributes
295
+
296
+ `sparse_checksum` : The source and destination files are compared based on sparse checksums, (currently file size)
297
+
298
+ `full_checksum` : The source and destination files are compared based on full checksums
278
299
  default: diff
279
300
  enum:
280
- - never
281
- - always
282
- - diff
283
- - older
284
- - diff+older
301
+ - never
302
+ - always
303
+ - diff
304
+ - older
305
+ - diff+older
285
306
  password:
286
307
  description: >-
287
- Password for local Windows user when transfer user associated with node api user is not
288
- the same as the one running asperanoded.
308
+ Password for local Windows user when transfer user associated with node API user is not
309
+ the same as the one running `asperanoded`.
289
310
 
290
311
  Allows impersonating the transfer user and have access to resources (e.g. network shares).
291
312
 
292
- Windows only, node api only.
313
+ Windows only, node API only.
293
314
  type: string
294
315
  x-agents:
295
- - node
316
+ - node
296
317
  paths:
297
318
  description: Array of path to the source (required) and a path to the destination (optional).
298
319
  type: array
@@ -309,46 +330,45 @@ properties:
309
330
  the timestamp that is preserved is the one just before to the transfer.
310
331
  x-cli-switch: true
311
332
  preserve_acls:
312
- description: "Preserve access control lists."
333
+ description: Preserve access control lists.
313
334
  enum:
314
- - none
315
- - native
316
- - metafile
335
+ - none
336
+ - native
337
+ - metafile
317
338
  default: none
318
339
  x-agents:
319
- - direct
320
- - transferd
340
+ - direct
341
+ - transferd
321
342
  preserve_creation_time:
322
343
  description: >-
323
- (Windows only) Preserve source-file creation timestamps at the destination.
344
+ Preserve source-file creation timestamps at the destination.
324
345
 
325
346
  Only Windows systems retain information about creation time.
326
-
327
347
  If the destination is not a Windows computer, this option is ignored.
328
348
  x-cli-switch: true
329
349
  preserve_extended_attrs:
330
- description: "Preserve the extended attributes."
350
+ description: Preserve the extended attributes.
331
351
  enum:
332
- - none
333
- - native
334
- - metafile
352
+ - none
353
+ - native
354
+ - metafile
335
355
  default: none
336
356
  x-agents:
337
- - transferd
338
- x-cli-option: "--preserve-xattrs"
357
+ - transferd
358
+ x-cli-option: --preserve-xattrs
339
359
  preserve_file_owner_gid:
340
- description: Preserve the group ID for a file owner
360
+ description: Preserve the group ID for a file owner.
341
361
  type: boolean
342
362
  x-agents:
343
- - transferd
344
- - direct
363
+ - transferd
364
+ - direct
345
365
  x-cli-switch: true
346
366
  preserve_file_owner_uid:
347
- description: Preserve the user ID for a file owner
367
+ description: Preserve the user ID for a file owner.
348
368
  type: boolean
349
369
  x-agents:
350
- - transferd
351
- - direct
370
+ - transferd
371
+ - direct
352
372
  x-cli-switch: true
353
373
  preserve_modification_time:
354
374
  description: >-
@@ -358,159 +378,161 @@ properties:
358
378
  Preserve source-file modification timestamps at the destination.
359
379
  x-cli-switch: true
360
380
  preserve_remote_acls:
361
- description: "Preserve remote access control lists."
381
+ description: Preserve remote access control lists.
362
382
  enum:
363
- - none
364
- - native
365
- - metafile
383
+ - none
384
+ - native
385
+ - metafile
366
386
  default: none
367
387
  x-agents:
368
- - transferd
369
- - direct
370
- x-cli-option: "--remote-preserve-acls"
388
+ - transferd
389
+ - direct
390
+ x-cli-option: --remote-preserve-acls
371
391
  preserve_remote_extended_attrs:
372
- description: "Preserve remote extended attributes."
392
+ description: Preserve remote extended attributes.
373
393
  enum:
374
- - none
375
- - native
376
- - metafile
394
+ - none
395
+ - native
396
+ - metafile
377
397
  default: none
378
398
  x-agents:
379
- - transferd
380
- - direct
381
- x-cli-option: "--remote-preserve-xattrs"
399
+ - transferd
400
+ - direct
401
+ x-cli-option: --remote-preserve-xattrs
382
402
  preserve_source_access_time:
383
- description: Preserve the time logged for when the source file was accessed
403
+ description: Preserve the time logged for when the source file was accessed.
384
404
  type: boolean
385
405
  x-agents:
386
- - transferd
387
- - direct
406
+ - transferd
407
+ - direct
388
408
  x-cli-switch: true
389
409
  preserve_times:
390
410
  description: Preserve file timestamps.
391
411
  type: boolean
392
412
  x-agents:
393
- - transferd
394
- - node
395
- - direct
396
- x-cli-option: "-p"
413
+ - transferd
414
+ - node
415
+ - direct
416
+ x-cli-option: -p
397
417
  rate_policy:
398
418
  description: >-
399
419
  The transfer rate policy to use when sharing bandwidth.
400
420
  Allowable values:
401
-
402
- - high : When sharing bandwidth, transfer at twice the rate of a transfer using a fair policy.
403
-
404
- - fair : (Default) Share bandwidth equally with other traffic.
405
-
406
- - low : Use only unused bandwidth.
407
-
408
- - fixed : Transfer at the target rate, regardless of the actual network capacity.
421
+
422
+ - `high` : When sharing bandwidth, transfer at twice the rate of a transfer using a fair policy.
423
+
424
+ - `fair` : (Default) Share bandwidth equally with other traffic.
425
+
426
+ - `low` : Use only unused bandwidth.
427
+
428
+ - `fixed` : Transfer at the target rate, regardless of the actual network capacity.
409
429
  Do not share bandwidth.
410
430
  Aspera recommends that you do not use this setting except under special circumstances,
411
- otherwise the destination storage can be damaged.
431
+ otherwise the destination storage can be damaged.
412
432
  enum:
413
- - low
414
- - fair
415
- - high
416
- - fixed
417
- x-cli-option: "--policy"
433
+ - low
434
+ - fair
435
+ - high
436
+ - fixed
437
+ x-cli-option: --policy
418
438
  remote_access_key:
419
439
  description: The access key ID of the access key that was used to construct the bearer token that is used to authenticate to the remote node.
420
440
  type: string
421
441
  x-agents:
422
- - transferd
442
+ - transferd
423
443
  remote_host:
424
- description: IP or fully qualified domain name of the remote server
425
- x-cli-option: "--host"
444
+ description: IP or fully qualified domain name (FQDN) of the remote server.
445
+ x-cli-option: --host
426
446
  remote_password:
427
- description: SSH session password
447
+ description: SSH session password.
428
448
  x-cli-envvar: ASPERA_SCP_PASS
429
449
  remote_user:
430
- description: Remote user. Default value is "xfer" on node or connect.
431
- x-cli-option: "--user"
450
+ description: Remote user. Default value is `xfer` on node or connect.
451
+ x-cli-option: --user
432
452
  remove_after_transfer:
433
- description: Remove SRC files after transfer success
453
+ description: Remove SRC files after transfer success.
434
454
  type: boolean
435
455
  x-agents:
436
- - direct
437
- - node
438
- - transferd
456
+ - direct
457
+ - node
458
+ - transferd
439
459
  x-cli-switch: true
440
460
  remove_empty_directories:
441
461
  description: Specifies whether to remove empty directories.
442
462
  type: boolean
443
463
  x-agents:
444
- - direct
445
- - node
446
- - transferd
464
+ - direct
465
+ - node
466
+ - transferd
447
467
  x-cli-switch: true
448
468
  remove_empty_source_dir:
449
469
  description: Remove empty source subdirectories and remove the source directory itself, if empty.
450
470
  type: boolean
451
471
  x-agents:
452
- - transferd
472
+ - transferd
453
473
  remove_empty_source_directory:
454
474
  description: Remove empty source subdirectories and remove the source directory itself, if empty.
455
475
  type: boolean
456
476
  x-agents:
457
- - direct
477
+ - direct
458
478
  x-cli-switch: true
459
479
  remove_skipped:
460
- description: Must also have remove_after_transfer set to true, Defaults to false, if true, skipped files will be removed as well.
480
+ description: Must also have `remove_after_transfer` set to `true`.
481
+ Defaults to `false`.
482
+ If `true`, skipped files will be removed as well.
461
483
  type: boolean
462
484
  x-agents:
463
- - direct
464
- - connect
465
- - node
485
+ - direct
486
+ - connect
487
+ - node
466
488
  x-cli-switch: true
467
489
  proxy:
468
490
  description: >-
469
491
  Specify the address of the Aspera high-speed proxy server.
470
492
 
471
- dnat(s)://[user[:password]@]server:port
493
+ `dnat(s)://[user[:password]@]server:port`
472
494
 
473
495
  Default ports for DNAT and DNATS protocols are 9091 and 9092.
474
496
 
475
- Password, if specified here, overrides the value of environment variable ASPERA_PROXY_PASS.
497
+ Password, if specified here, overrides the value of environment variable `ASPERA_PROXY_PASS`.
476
498
  x-agents:
477
- - direct
478
- - noded
499
+ - direct
500
+ - noded
479
501
  resume_policy:
480
502
  description: >-
481
503
  If a transfer is interrupted or fails to finish,
482
504
  this policy directs the transfer to resume without retransferring the files.
483
505
  Allowable values:
484
-
485
- - none : Always re-transfer the entire file
486
-
487
- - attrs : Compare file attributes and resume if they match, and re-transfer if they do not
488
-
489
- - sparse_csum : Compare file attributes and the sparse file checksums; resume if they match, and re-transfer if they do not
490
-
491
- - full_csum : Compare file attributes and the full file checksums; resume if they match, and re-transfer if they do not.
492
-
493
- Note: transferd uses values: attributes, sparse_checksum, full_checksum.
506
+
507
+ - `none` : Always re-transfer the entire file.
508
+
509
+ - `attrs` : Compare file attributes and resume if they match, and re-transfer if they do not.
510
+
511
+ - `sparse_csum` : Compare file attributes and the sparse file checksums; resume if they match, and re-transfer if they do not.
512
+
513
+ - `full_csum` : Compare file attributes and the full file checksums; resume if they match, and re-transfer if they do not.
514
+
515
+ Note: transferd uses values: `attributes`, `sparse_checksum`, `full_checksum`.
494
516
  default: faspmgr:none;other:sparse_csum
495
517
  enum:
496
- - none
497
- - attrs
498
- - sparse_csum
499
- - full_csum
500
- x-cli-option: "-k"
518
+ - none
519
+ - attrs
520
+ - sparse_csum
521
+ - full_csum
522
+ x-cli-option: -k
501
523
  x-cli-convert:
502
524
  none: 0
503
525
  attrs: 1
504
526
  sparse_csum: 2
505
527
  full_csum: 3
506
528
  retry_duration:
507
- description: Specifies how long to wait before retrying transfer. (e.g. "5min")
529
+ description: Specifies how long to wait before retrying transfer (e.g. `5min`).
508
530
  $comment: "TODO: check this."
509
531
  type:
510
- - integer
511
- - string
532
+ - integer
533
+ - string
512
534
  x-agents:
513
- - transferd
535
+ - transferd
514
536
  save_before_overwrite:
515
537
  description: >-
516
538
  If a transfer would result in an existing file <filename>.<ext> being overwritten,
@@ -522,33 +544,33 @@ properties:
522
544
  File attributes are maintained in the renamed file.
523
545
  x-cli-switch: true
524
546
  x-agents:
525
- - direct
526
- - node
527
- - transferd
547
+ - direct
548
+ - node
549
+ - transferd
528
550
  skip_duplicate_check:
529
551
  description: Don't check for duplicate files at the destination.
530
552
  type: boolean
531
553
  x-agents:
532
- - transferd
533
- - direct
534
- x-cli-option: "--skip-dir-traversal-dupes"
554
+ - transferd
555
+ - direct
556
+ x-cli-option: --skip-dir-traversal-dupes
535
557
  x-cli-switch: true
536
558
  skip_special_files:
537
559
  description: >-
538
560
  All assets other than files, directories and symbolic links are considered special.
539
561
  A transfer will fail if the user attempts to transfer special assets.
540
- If true, ascp skips special assets and proceeds with the transfer of all other assets.
562
+ If `true`, `ascp` skips special assets and proceeds with the transfer of all other assets.
541
563
  type: boolean
542
564
  x-agents:
543
- - transferd
544
- - direct
565
+ - transferd
566
+ - direct
545
567
  x-cli-switch: true
546
568
  source_root:
547
569
  description: >-
548
570
  Path to be prepended to each source path.
549
571
 
550
572
  This is either a conventional path or it can be a URI but only if there is no root defined.
551
- x-cli-option: "--source-prefix64"
573
+ x-cli-option: --source-prefix64
552
574
  x-cli-convert: base64
553
575
  source_root_id:
554
576
  description: >-
@@ -556,8 +578,8 @@ properties:
556
578
  Required when using Bearer token auth for the source node.
557
579
  type: string
558
580
  x-agents:
559
- - transferd
560
- - node
581
+ - transferd
582
+ - node
561
583
  src_base:
562
584
  description: >-
563
585
  Specify the prefix to be stripped off from each source object.
@@ -566,23 +588,23 @@ properties:
566
588
 
567
589
  Special care must be taken when used with cloud storage.
568
590
  x-agents:
569
- - direct
570
- - node
571
- - transferd
572
- x-cli-option: "--src-base64"
591
+ - direct
592
+ - node
593
+ - transferd
594
+ x-cli-option: --src-base64
573
595
  x-cli-convert: base64
574
596
  src_base64:
575
597
  description: The folder name below which the directory structure is preserved (base64 encoded).
576
598
  type: string
577
599
  x-agents:
578
- - transferd
579
- - direct
580
- x-cli-option: "--src-base64"
600
+ - transferd
601
+ - direct
602
+ x-cli-option: --src-base64
581
603
  ssh_port:
582
604
  description: Specifies SSH (TCP) port.
583
605
  default: "direct:22, other:33001"
584
606
  type: integer
585
- x-cli-option: "-P"
607
+ x-cli-option: -P
586
608
  ssh_private_key:
587
609
  description: >-
588
610
  Private key used for SSH authentication.
@@ -591,145 +613,146 @@ properties:
591
613
 
592
614
  Note the JSON encoding: &bsol;n for newlines.
593
615
  x-agents:
594
- - direct
595
- - transferd
616
+ - direct
617
+ - transferd
596
618
  x-cli-envvar: ASPERA_SCP_KEY
597
619
  ssh_private_key_passphrase:
598
620
  description: The passphrase associated with the transfer user's SSH private key. Available as of 3.7.2.
599
621
  type: string
600
622
  x-agents:
601
- - transferd
602
- - direct
623
+ - transferd
624
+ - direct
603
625
  x-cli-envvar: ASPERA_SCP_PASS
604
626
  ssh_private_key_path:
605
627
  description: Path to private key for SSH.
606
628
  type: string
607
629
  x-agents:
608
- - transferd
609
- - direct
610
- x-cli-option: "-i"
630
+ - transferd
631
+ - direct
632
+ x-cli-option: -i
611
633
  ssh_args:
612
634
  description: Array of arguments to pass to SSH. Use with caution.
613
635
  type: array
614
636
  x-agents:
615
- - transferd
616
- x-cli-option: "-i"
637
+ - transferd
638
+ x-cli-option: --ssh-args
617
639
  symlink_policy:
618
- description: "Handle source side symbolic links"
640
+ description: Handle source side symbolic links.
619
641
  enum:
620
- - follow
621
- - copy
622
- - copy+force
623
- - skip
642
+ - follow
643
+ - copy
644
+ - copy+force
645
+ - skip
624
646
  default: follow
625
- x-cli-option: "--symbolic-links"
647
+ x-cli-option: --symbolic-links
626
648
  tags:
627
649
  description: >-
628
650
  Metadata for transfer as JSON.
629
651
  Key `aspera` is reserved.
630
- Key `aspera.xfer_retry` specifies a retry timeout for node api initiated transfers.
652
+ Key `aspera.xfer_retry` specifies a retry timeout for node API initiated transfers.
631
653
  type: object
632
- x-cli-option: "--tags64"
654
+ x-cli-option: --tags64
633
655
  x-cli-convert: json64
634
656
  tags64:
635
657
  description: >-
636
658
  Metadata for transfer as JSON.
637
659
  Key `aspera` is reserved.
638
- Key `aspera.xfer_retry` specifies a retry timeout for node api initiated transfers.
660
+ Key `aspera.xfer_retry` specifies a retry timeout for node API initiated transfers.
639
661
  type: string
640
662
  x-agents:
641
- - transferd
642
- - direct
663
+ - transferd
664
+ - direct
643
665
  target_rate_cap_kbps:
644
666
  description: >-
645
- Maximum target rate for incoming transfers, in kilobits per second.
667
+ Maximum target rate for incoming transfers, in kilobits per second.
646
668
  Returned by upload/download_setup node API.
647
669
  type: integer
648
670
  x-agents:
649
- - connect
650
- - transferd
671
+ - connect
672
+ - transferd
651
673
  target_rate_kbps:
652
674
  description: Specifies desired speed for the transfer.
653
675
  type: integer
654
- x-cli-option: "-l"
676
+ x-cli-option: -l
655
677
  title:
656
678
  description: Title of the transfer.
657
679
  type: string
658
680
  x-agents:
659
- - node
660
- - connect
661
- - transferd
681
+ - node
682
+ - connect
683
+ - transferd
662
684
  token:
663
- description: 'Authorization token: Bearer, Basic or ATM (Also arg -W)'
685
+ description: "Authorization token. Type: Bearer, Basic or ATM. (Also arg -W)"
664
686
  x-cli-envvar: ASPERA_SCP_TOKEN
665
687
  use_ascp4:
666
688
  description: Specify version of protocol. Do not use ascp4.
667
689
  type: boolean
668
690
  default: false
669
691
  x-agents:
670
- - direct
671
- - node
672
- - transferd
692
+ - direct
693
+ - node
694
+ - transferd
673
695
  x-cli-special: true
674
696
  use_system_ssh:
675
697
  description: TODO, comment...
676
698
  type: string
677
699
  x-agents:
678
- - transferd
679
- - direct
680
- x-cli-option: "-SSH"
700
+ - transferd
701
+ - direct
702
+ x-cli-option: -SSH
681
703
  keepalive:
682
704
  description: The session is running in persistent session mode.
683
705
  x-agents:
684
- - transferd
685
- - direct
706
+ - transferd
707
+ - direct
686
708
  x-cli-switch: true
687
709
  dgram_size:
688
- description: UDP datagram size in bytes
710
+ description: UDP datagram size in bytes.
689
711
  type: integer
690
- x-cli-option: "-Z"
712
+ x-cli-option: -Z
691
713
  min_rate_kbps:
692
714
  description: Set the minimum transfer rate in kilobits per second.
693
715
  type: integer
694
716
  default: 0
695
- x-cli-option: "-m"
717
+ x-cli-option: -m
696
718
  sshfp:
697
719
  description: Check it against server SSH host key fingerprint.
698
- x-cli-option: "--check-sshfp"
720
+ x-cli-option: --check-sshfp
699
721
  target_rate_percentage:
700
722
  description: "TODO: remove ?"
701
723
  x-agents: []
702
724
  rate_policy_allowed:
703
- description: "Specifies most aggressive rate policy that is allowed.\nReturned by node API."
725
+ description: Specifies most aggressive rate policy that is allowed.
726
+ Returned by node API.
704
727
  enum:
705
- - low
706
- - fair
707
- - high
708
- - fixed
728
+ - low
729
+ - fair
730
+ - high
731
+ - fixed
709
732
  x-agents:
710
- - connect
733
+ - connect
711
734
  fasp_url:
712
735
  description: Only used in Faspex.
713
736
  x-agents: []
714
737
  authentication:
715
- description: 'value=token for SSH bypass keys, else password asked if not provided.'
738
+ description: Set to `token` for SSH bypass keys, else password asked if not provided.
716
739
  x-agents:
717
- - connect
740
+ - connect
718
741
  cipher_allowed:
719
- description: returned by node API. Valid literals include "aes-128" and "none".
742
+ description: Returned by node API. Valid literals include `aes-128` and `none`.
720
743
  x-agents:
721
- - connect
744
+ - connect
722
745
  obfuscate_file_names:
723
- description: HTTP Gateway obfuscates file names when set to true.
746
+ description: HTTP Gateway obfuscates file names when set to `true`.
724
747
  type: boolean
725
748
  x-agents:
726
- - httpgw
749
+ - httpgw
727
750
  wss_enabled:
728
- description: Server has Web Socket service enabled
751
+ description: Server has Web Socket service enabled.
729
752
  type: boolean
730
753
  x-cli-special: true
731
754
  wss_port:
732
- description: TCP port used for websocket service feed
755
+ description: TCP port used for websocket service feed.
733
756
  type: integer
734
757
  x-cli-special: true
735
758
  compression:
@@ -750,4 +773,4 @@ properties:
750
773
  Shall not exceed aspera.conf `transfer_manager_max_retries` (default 5).
751
774
  type: integer
752
775
  x-agents:
753
- - node
776
+ - node