aspera-cli 4.22.0 → 4.24.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.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +405 -364
  4. data/CONTRIBUTING.md +86 -29
  5. data/README.md +1856 -961
  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 +53 -43
  16. data/lib/aspera/api/cos_node.rb +7 -5
  17. data/lib/aspera/api/httpgw.rb +23 -22
  18. data/lib/aspera/api/node.rb +104 -22
  19. data/lib/aspera/ascmd.rb +35 -21
  20. data/lib/aspera/ascp/installation.rb +43 -43
  21. data/lib/aspera/ascp/management.rb +5 -4
  22. data/lib/aspera/assert.rb +55 -24
  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 +38 -4
  28. data/lib/aspera/cli/main.rb +139 -108
  29. data/lib/aspera/cli/manager.rb +51 -31
  30. data/lib/aspera/cli/plugin.rb +149 -78
  31. data/lib/aspera/cli/plugin_factory.rb +2 -2
  32. data/lib/aspera/cli/plugins/aoc.rb +217 -88
  33. data/lib/aspera/cli/plugins/ats.rb +15 -13
  34. data/lib/aspera/cli/plugins/config.rb +105 -227
  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 +162 -163
  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 +233 -247
  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 +29 -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 +55 -58
  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 +160 -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/data_repository.rb +1 -0
  55. data/lib/aspera/environment.rb +144 -100
  56. data/lib/aspera/faspex_gw.rb +1 -1
  57. data/lib/aspera/faspex_postproc.rb +3 -2
  58. data/lib/aspera/hash_ext.rb +1 -1
  59. data/lib/aspera/id_generator.rb +10 -10
  60. data/lib/aspera/keychain/base.rb +18 -0
  61. data/lib/aspera/keychain/encrypted_hash.rb +6 -12
  62. data/lib/aspera/keychain/factory.rb +9 -3
  63. data/lib/aspera/keychain/hashicorp_vault.rb +9 -6
  64. data/lib/aspera/keychain/macos_security.rb +13 -13
  65. data/lib/aspera/log.rb +70 -20
  66. data/lib/aspera/nagios.rb +5 -6
  67. data/lib/aspera/node_simulator.rb +12 -7
  68. data/lib/aspera/oauth/base.rb +6 -2
  69. data/lib/aspera/oauth/factory.rb +25 -18
  70. data/lib/aspera/oauth/jwt.rb +13 -1
  71. data/lib/aspera/oauth/url_json.rb +3 -3
  72. data/lib/aspera/oauth/web.rb +5 -3
  73. data/lib/aspera/persistency_folder.rb +2 -2
  74. data/lib/aspera/preview/file_types.rb +43 -35
  75. data/lib/aspera/preview/generator.rb +26 -13
  76. data/lib/aspera/preview/terminal.rb +10 -7
  77. data/lib/aspera/preview/utils.rb +11 -9
  78. data/lib/aspera/products/connect.rb +2 -1
  79. data/lib/aspera/products/desktop.rb +1 -1
  80. data/lib/aspera/products/other.rb +2 -2
  81. data/lib/aspera/products/transferd.rb +8 -6
  82. data/lib/aspera/proxy_auto_config.rb +1 -1
  83. data/lib/aspera/rest.rb +46 -28
  84. data/lib/aspera/rest_call_error.rb +1 -1
  85. data/lib/aspera/rest_error_analyzer.rb +1 -0
  86. data/lib/aspera/resumer.rb +1 -1
  87. data/lib/aspera/secret_hider.rb +46 -40
  88. data/lib/aspera/ssh.rb +14 -4
  89. data/lib/aspera/sync/args.schema.yaml +102 -0
  90. data/lib/aspera/sync/conf.schema.yaml +701 -0
  91. data/lib/aspera/sync/database.rb +83 -0
  92. data/lib/aspera/{transfer/sync.rb → sync/operations.rb} +145 -68
  93. data/lib/aspera/temp_file_manager.rb +4 -2
  94. data/lib/aspera/timer_limiter.rb +7 -5
  95. data/lib/aspera/transfer/error.rb +1 -1
  96. data/lib/aspera/transfer/error_info.rb +1 -2
  97. data/lib/aspera/transfer/faux_file.rb +11 -10
  98. data/lib/aspera/transfer/parameters.rb +6 -5
  99. data/lib/aspera/transfer/spec.rb +15 -1
  100. data/lib/aspera/transfer/spec.schema.yaml +316 -293
  101. data/lib/aspera/transfer/spec_doc.rb +34 -16
  102. data/lib/aspera/transfer/uri.rb +5 -5
  103. data/lib/aspera/uri_reader.rb +14 -10
  104. data/lib/aspera/web_auth.rb +2 -2
  105. data/lib/aspera/web_server_simple.rb +2 -2
  106. data.tar.gz.sig +0 -0
  107. metadata +15 -15
  108. metadata.gz.sig +0 -0
  109. data/examples/dascli +0 -30
  110. data/examples/get_proto_file.rb +0 -8
  111. data/examples/proxy.pac +0 -60
  112. data/lib/aspera/transfer/convert.rb +0 -29
  113. data/lib/aspera/transfer/sync_instance.schema.yaml +0 -13
  114. data/lib/aspera/transfer/sync_session.schema.yaml +0 -79
@@ -0,0 +1,701 @@
1
+ $schema: http://json-schema.org/draft-04/schema#
2
+ $comment: >-
3
+ This is a YAML version of the original JSON schema from asyncs API.
4
+ type: object
5
+ required:
6
+ - name
7
+ - local
8
+ - remote
9
+ properties:
10
+ ascp_dir:
11
+ description: Directory containing ascp executable to use
12
+ type: string
13
+ default: ""
14
+ assume_no_mods:
15
+ description: Assume that the directory structure has not been modified
16
+ type: boolean
17
+ default: false
18
+ checksum:
19
+ description: Use the specified checksum type. Default is none on cloud storage
20
+ enum:
21
+ - sha1
22
+ - md5
23
+ - sha1_sparse
24
+ - md5_sparse
25
+ - none
26
+ default: sha1_sparse
27
+ clean_excluded:
28
+ description:
29
+ Removes any existing entries in the snapshot database for excluded
30
+ paths
31
+ type: boolean
32
+ default: false
33
+ store_metadata_records:
34
+ description: Store the acls or xattrs in the snapshot database
35
+ type: boolean
36
+ default: false
37
+ cookie:
38
+ description: User-defined identification string
39
+ type: string
40
+ default: ""
41
+ cooloff_max_seconds:
42
+ description:
43
+ Wait up to the specified time for a file to stop changing before
44
+ skipping synchronization of the file. 0 for disabled
45
+ type: integer
46
+ default: 0
47
+ cooloff_seconds:
48
+ description: Delay the start of the transfer to confirm that the content is not changing.
49
+ Value must be between 0 and 60
50
+ type: integer
51
+ default: 3
52
+ create_dir:
53
+ description: Create the source directory, target directory, or both, if they do not exist
54
+ type: boolean
55
+ default: false
56
+ db_cache_size:
57
+ description: Specify DB cache size
58
+ type: integer
59
+ default: 16000
60
+ db_journal_off:
61
+ description: Turn off DB journal
62
+ type: boolean
63
+ default: false
64
+ db_sync_on:
65
+ description: Enable synchronous write in DB
66
+ type: boolean
67
+ default: false
68
+ dedup:
69
+ description: Take the specified action when async detects duplicate files on the source
70
+ enum:
71
+ - copy
72
+ - inode
73
+ - hardlink
74
+ - none
75
+ default: none
76
+ delete_before:
77
+ description: Schedule deletes before transfers
78
+ type: boolean
79
+ default: false
80
+ delete_delay:
81
+ description: Delay actual deletes until the end of the synchronization
82
+ type: boolean
83
+ default: false
84
+ direction:
85
+ description: The direction of replication relative to the local
86
+ enum:
87
+ - bidi
88
+ - pull
89
+ - push
90
+ default: push
91
+ filters:
92
+ description:
93
+ The filters allow to further specify which files have to be excluded
94
+ and included from the transfer list. Each filter is defined by a rule and
95
+ a value. Order of filters matters
96
+ type: array
97
+ items:
98
+ type: object
99
+ required:
100
+ - rule
101
+ - value
102
+ properties:
103
+ rule:
104
+ description: The rule for the filter
105
+ enum:
106
+ - include
107
+ - exclude
108
+ - include_from
109
+ - exclude_from
110
+ value:
111
+ description:
112
+ On include or exclude, the filter's pattern. On include_from
113
+ or exclude_from, the path containing filter specifications
114
+ type: string
115
+ exclude_dirs_older_than:
116
+ description:
117
+ Don't scan directories with a recursive modified time older than
118
+ absolute or async start time - relative_seconds
119
+ type: object
120
+ properties:
121
+ absolute:
122
+ description: UTC timestamp. Empty value for disabled
123
+ type: string
124
+ default: ""
125
+ relative_seconds:
126
+ description: Relative to async start time. -1 for disabled
127
+ type: integer
128
+ default: -1
129
+ ignore_delete:
130
+ description: Do not copy removals to the peer
131
+ type: boolean
132
+ default: false
133
+ ignore_mode:
134
+ description: Source files that have had their mode changed after the initial
135
+ transfer will not update the destination file mode.
136
+ type: boolean
137
+ default: false
138
+ ignore_remote_host_sync_name:
139
+ description: Do not check that the remote host being used for the current
140
+ transfer matches the host used when the local database was created
141
+ type: boolean
142
+ default: false
143
+ local:
144
+ type: object
145
+ required:
146
+ - path
147
+ properties:
148
+ pass:
149
+ description: Authenticate the local async with the specified password
150
+ type: string
151
+ default: ""
152
+ path:
153
+ description: The directory to be synchronized on the local host
154
+ type: string
155
+ local_apply_docroot:
156
+ description: Prepend the docroot to the directory on the local host
157
+ type: boolean
158
+ default: false
159
+ local_db_dir:
160
+ description: Use the specified database directory on the local host.
161
+ Default is `.private-asp` at the root level of the synchronized directory.
162
+ type: string
163
+ default: ""
164
+ local_checksum_threads:
165
+ description:
166
+ Maximum number of threads to do checksum on the local host. Value
167
+ must be between 1 and 99
168
+ type: integer
169
+ default: 4
170
+ local_db_store_dir:
171
+ description: Store/Restore the database to/from the specified directory on the local host.
172
+ The value can be an absolute path, an URI or - (use the local sync dir)
173
+ type: string
174
+ default: ""
175
+ local_force_stat:
176
+ description: Forces the local async to retrieve file information even when
177
+ no changes are detected by the scanner or monitor.
178
+ type: boolean
179
+ default: false
180
+ local_fs_threads:
181
+ description: Maximum number of threads to do file system operations on the local host.
182
+ Value must be between 1 and 99.
183
+ type: integer
184
+ default: 1
185
+ local_keep_dir:
186
+ description: Move deleted files into the specified directory on the local host
187
+ type: string
188
+ default: ""
189
+ local_mount_signature:
190
+ description: Verify that the file system is mounted by the existence of this file on the local host.
191
+ type: string
192
+ default: ""
193
+ local_move_cache_timeout_seconds:
194
+ description: Delay in seconds before aborting moving a file from local cache to final destination.
195
+ -1 for disabled.
196
+ type: integer
197
+ default: -1
198
+ local_preserve_acls:
199
+ description: Preserve access control lists on the local host
200
+ enum:
201
+ - native
202
+ - metafile
203
+ - none
204
+ default: none
205
+ local_preserve_xattrs:
206
+ description: Preserve extended attributes on the local
207
+ enum:
208
+ - native
209
+ - metafile
210
+ - none
211
+ default: none
212
+ local_scan_interval_milliseconds:
213
+ description:
214
+ Enable periodic scans on the local host during a continuous sync.
215
+ -1 for disabled
216
+ type: integer
217
+ default: -1
218
+ local_scan_threads:
219
+ description: Number of directory scanning threads on the local host.
220
+ Value must be between 1 and 99
221
+ type: integer
222
+ default: 1
223
+ local_stat_cache_size:
224
+ description: Set stat cache size on the local host. 0 for disabled
225
+ type: integer
226
+ default: 0
227
+ log:
228
+ type: object
229
+ properties:
230
+ level:
231
+ description: Use the specified log level
232
+ enum:
233
+ - log
234
+ - dbg1
235
+ - dbg2
236
+ default: log
237
+ local_dir:
238
+ description: Use the specified logging directory on the local host
239
+ type: string
240
+ default: ""
241
+ remote_dir:
242
+ description: Use the specified logging directory on the remote host
243
+ type: string
244
+ default: ""
245
+ manifest_path:
246
+ description:
247
+ A directory path where ascp will create manifest TEXT files (passed
248
+ to ascp as --file-manifest-path)
249
+ type: string
250
+ default: ""
251
+ mirror:
252
+ description:
253
+ Force the pulling side to be exactly like the pushing side, removing
254
+ files on the destination that don't exist on the source and resending source
255
+ files that don't have an exact match on the destination. Cannot be used
256
+ in bi-directional mode
257
+ type: boolean
258
+ default: false
259
+ mode:
260
+ description:
261
+ Specify whether async runs continuously or not. In one_time mode,
262
+ async stops after the first full synchronization
263
+ enum:
264
+ - one_time
265
+ - continuous
266
+ default: one_time
267
+ monitor_buffer_size:
268
+ description: Bytes to allocate for the change monitor buffer.
269
+ Applies to any Windows machine on either side.
270
+ -1 to use the computed value.
271
+ type: integer
272
+ default: -1
273
+ name:
274
+ description: Name of the synchronization pair
275
+ type: string
276
+ no_log:
277
+ description: Suppress log messages for ITEM.
278
+ The only currently supported ITEM is 'stats', which suppresses both STATS and PROG log messages.
279
+ type: string
280
+ default: ""
281
+ no_preserve_root_attrs:
282
+ description: Disable the preservation of attributes on the Sync root
283
+ type: boolean
284
+ default: false
285
+ no_scan:
286
+ description: Skip initial scanning
287
+ type: boolean
288
+ default: false
289
+ notifications_sharing_retry_max:
290
+ description: Retry processing filesystem notifications up to the specified
291
+ maximum number after a sharing violation.
292
+ type: integer
293
+ default: 3
294
+ overwrite:
295
+ description: >-
296
+ Overwrite files according to the specified policy.
297
+ Default is determined by the direction: conflict for bidi, otherwise always.
298
+ enum:
299
+ - always
300
+ - older
301
+ - conflict
302
+ pending_max:
303
+ description: Allow the maximum number of files that are pending transfer to
304
+ be no more than the specified number
305
+ type: integer
306
+ default: 2000
307
+ preserve_access_time:
308
+ description: Preserve file access time from the source to the destination
309
+ type: boolean
310
+ default: false
311
+ preserve_creation_time:
312
+ description: Preserve file creation time from the source to the destination
313
+ type: boolean
314
+ default: false
315
+ preserve_gid:
316
+ description: Preserve the file owner's GID
317
+ type: boolean
318
+ default: false
319
+ preserve_modification_time:
320
+ description: Preserve file modification time from the source to the destination
321
+ type: boolean
322
+ default: false
323
+ preserve_object_lock_legal_hold:
324
+ description: Preserve object lock legal hold status from the source to the destination
325
+ type: boolean
326
+ default: false
327
+ preserve_object_lock_retention:
328
+ description: Preserve object lock retention from the source to the destination
329
+ type: boolean
330
+ default: false
331
+ preserve_object_metadata:
332
+ description: Preserve object metadata from the source to the destination
333
+ type: boolean
334
+ default: false
335
+ preserve_uid:
336
+ description: Preserve the file owner's UID
337
+ type: boolean
338
+ default: false
339
+ quiet:
340
+ description: Disable progress display
341
+ type: boolean
342
+ default: true
343
+ remote:
344
+ type: object
345
+ required:
346
+ - host
347
+ - user
348
+ - path
349
+ properties:
350
+ fingerprint:
351
+ description: Check it against server SSH host key fingerprint
352
+ type: string
353
+ default: ""
354
+ x-ts-name: sshfp
355
+ host:
356
+ description: Use the specified host name or address of the remote host
357
+ type: string
358
+ x-ts-name: remote_host
359
+ pass:
360
+ description: Authenticate the transfer with the specified password
361
+ type: string
362
+ default: ""
363
+ x-ts-name: remote_password
364
+ path:
365
+ description: Synchronize the specified directory on the remote host
366
+ type: string
367
+ port:
368
+ description: Use the specified TCP port for SSH.
369
+ Used when connect_mode is `ssh`
370
+ type: integer
371
+ default: 22
372
+ x-ts-name: ssh_port
373
+ ws_port:
374
+ description:
375
+ Use the specified port for Websocket.
376
+ Used when connect_mode is `ws`.
377
+ type: integer
378
+ default: 9093
379
+ x-ts-name: wss_port
380
+ connect_mode:
381
+ description: Define how to connect to the remote
382
+ enum:
383
+ - ssh
384
+ - ws
385
+ default: ssh
386
+ private_key_paths:
387
+ description: Authenticate with the specified SSH private key file
388
+ type: array
389
+ items:
390
+ type: string
391
+ proxy:
392
+ description: Specify the address of the Aspera high-speed proxy server
393
+ type: object
394
+ #x-ts-name: proxy : TODO: conversion
395
+ properties:
396
+ host:
397
+ description: Use the specified host name or address of the proxy
398
+ type: string
399
+ default: ""
400
+ pass:
401
+ description: Authenticate to the proxy with the specified password
402
+ type: string
403
+ default: ""
404
+ port:
405
+ description: Use the specified port, default is 9091 for dnat, 9092
406
+ for dnats
407
+ type: integer
408
+ protocol:
409
+ description: The protocol to be used
410
+ enum:
411
+ - none
412
+ - dnat
413
+ - dnats
414
+ default: none
415
+ user:
416
+ description: Authenticate to the proxy with the specified username
417
+ type: string
418
+ default: ""
419
+ token:
420
+ description: Token string passed to server's authentication service
421
+ type: string
422
+ default: ""
423
+ x-ts-name: token
424
+ token_node_user:
425
+ description: Node API user identity associated with the token.
426
+ Required for node user bearer tokens
427
+ type: string
428
+ default: ""
429
+ user:
430
+ description: Authenticate the transfer with the specified username
431
+ type: string
432
+ x-ts-name: remote_user
433
+ remote_checksum_threads:
434
+ description: Maximum number of threads to do checksum on the remote host.
435
+ Value must be between 1 and 99
436
+ type: integer
437
+ default: 4
438
+ remote_db_dir:
439
+ description:
440
+ Use the specified database directory on the remote host.
441
+ Default is `.private-asp` at the root level of the synchronized directory.
442
+ type: string
443
+ default: ""
444
+ remote_db_store_dir:
445
+ description: Store/Restore the database to/from the specified directory on the remote host.
446
+ The value can be an absolute path, an URI or - (use the remote sync dir).
447
+ type: string
448
+ default: ""
449
+ remote_force_stat:
450
+ description: Forces the remote async to retrieve file information even when
451
+ no changes are detected by the scanner or monitor.
452
+ type: boolean
453
+ default: false
454
+ remote_fs_threads:
455
+ description: Maximum number of threads to do file system operations on the remote host.
456
+ Value must be between 1 and 99.
457
+ type: integer
458
+ default: 1
459
+ remote_keep_dir:
460
+ description: Move deleted files into the specified directory on the remote host.
461
+ type: string
462
+ default: ""
463
+ remote_mount_signature:
464
+ description: Verify that the file system is mounted by the existence of this file on the remote host.
465
+ type: string
466
+ default: ""
467
+ remote_move_cache_timeout_seconds:
468
+ description:
469
+ Delay in seconds before aborting moving a file from remote cache
470
+ to final destination.
471
+ -1 for disabled.
472
+ type: integer
473
+ default: -1
474
+ remote_preserve_acls:
475
+ description:
476
+ Preserve access control lists on the remote host.
477
+ If not specified, the default behavior is to use the same storage mode as specified by `preserve_acls`.
478
+ enum:
479
+ - native
480
+ - metafile
481
+ - none
482
+ remote_preserve_xattrs:
483
+ description:
484
+ Preserve extended attributes on the remote host.
485
+ If not specified, the default behavior is to use the same storage mode as specified by `preserve_xattrs`.
486
+ enum:
487
+ - native
488
+ - metafile
489
+ - none
490
+ remote_scan_interval_milliseconds:
491
+ description: Enable periodic scans on the remote host.
492
+ -1 for disabled.
493
+ type: integer
494
+ default: -1
495
+ remote_scan_threads:
496
+ description: Number of directory scanning threads on the remote host.
497
+ Value must be between 1 and 99.
498
+ type: integer
499
+ default: 1
500
+ remote_stat_cache_size:
501
+ description: Set stat cache size on the remote host.
502
+ 0 for disabled.
503
+ type: integer
504
+ default: 0
505
+ remove_after_transfer:
506
+ description: Remove source files after they are successfully synchronized
507
+ type: boolean
508
+ default: false
509
+ reset:
510
+ description:
511
+ Clear the snapshot database and rescan the synchronized directories
512
+ and files to create a fresh snapshot
513
+ type: boolean
514
+ default: false
515
+ resume:
516
+ description: Partial transfers may exist if communication disruptions caused
517
+ the underlying ascp processes to terminate early.
518
+ Note that transfer resumption can only happen if the `reset` option is disabled.
519
+ If an async session starts with `reset` enabled and resume enabled, transfers interrupted during that
520
+ session will be resumeable, but only if async is then restarted with 'reset' disabled.
521
+ type: object
522
+ properties:
523
+ enabled:
524
+ description:
525
+ Enable the possibility of resuming individual file transfers between async sessions.
526
+ type: boolean
527
+ default: false
528
+ min_size:
529
+ description: This field specifies the minimum size of files that will be allowed to resume.
530
+ type: integer
531
+ default: "1048576"
532
+ max_age:
533
+ description: Sets the age limit in days for temporary files that will
534
+ be preserved on cleanup (usually at async's start and stop) for potential
535
+ transfer resume. Temp files older than the given value will be removed
536
+ regardless of whether they might be resumeable.
537
+ type: integer
538
+ default: "5"
539
+ resume_scan:
540
+ description: Resume the scan from where the previous execution left off
541
+ type: boolean
542
+ default: false
543
+ scan_dir_rename:
544
+ description: Enable the detection of renamed directories and files compared
545
+ to the previous scan, based on matching inodes
546
+ type: boolean
547
+ default: false
548
+ scan_file_rename:
549
+ description: Enable the detection of renamed files compared to the previous
550
+ scan, based on matching inodes
551
+ type: boolean
552
+ default: false
553
+ scan_intensity:
554
+ description:
555
+ Scan at the set intensity.
556
+ `vlow` minimizes system activity.
557
+ `vhigh` maximizes system activity by continuously scanning files without rest.
558
+ enum:
559
+ - vlow
560
+ - low
561
+ - medium
562
+ - high
563
+ - vhigh
564
+ default: medium
565
+ sharing_retry_max:
566
+ description: Retry synchronizations up to the specified maximum number after a sharing violation.
567
+ type: integer
568
+ default: 3
569
+ symbolic_links:
570
+ description:
571
+ Handle symbolic links with the specified method.
572
+ Default is `skip` on windows, `copy` otherwise.
573
+ enum:
574
+ - copy
575
+ - skip
576
+ - follow
577
+ tags:
578
+ description: User-defined metadata tags
579
+ type: object
580
+ properties: {}
581
+ x-ts-name: tags
582
+ transfer_threads:
583
+ description:
584
+ Use the specified number of dedicated transfer threads to process
585
+ files smaller or equal to the specified size
586
+ type: array
587
+ items:
588
+ type: object
589
+ required:
590
+ - threads
591
+ properties:
592
+ size:
593
+ description: Upper limit.
594
+ -1 for infinity.
595
+ type: integer
596
+ default: -1
597
+ threads:
598
+ description: The number of threads
599
+ type: integer
600
+ transport:
601
+ type: object
602
+ properties:
603
+ cipher:
604
+ description: Specify encryption algorithm for file data
605
+ enum:
606
+ - none
607
+ - aes128
608
+ - aes192
609
+ - aes256
610
+ - aes128cfb
611
+ - aes192cfb
612
+ - aes256cfb
613
+ - aes128gcm
614
+ - aes192gcm
615
+ - aes256gcm
616
+ default: aes128
617
+ compression:
618
+ description: Compress a file before transfer using the specified MODE
619
+ enum:
620
+ - none
621
+ - zlib
622
+ default: none
623
+ datagram_size:
624
+ description:
625
+ Specify the datagram size (MTU) for FASP.
626
+ By default it uses the detected path MTU.
627
+ type: integer
628
+ min_rate:
629
+ description: Attempt to transfer no slower than the specified rate (in bps).
630
+ type: integer
631
+ default: 0
632
+ rate_policy:
633
+ description: Defines how `ascp` will manage the bandwidth.
634
+ enum:
635
+ - fair
636
+ - fixed
637
+ - high
638
+ - low
639
+ default: fair
640
+ raw_options:
641
+ description: Pass arbitrary arguments to `ascp`.
642
+ type: array
643
+ items:
644
+ type: string
645
+ read_block_size:
646
+ description:
647
+ Use the specified block size (in bytes) for reading.
648
+ Default is determined by `aspera.conf`.
649
+ type: integer
650
+ rexmsg_size:
651
+ description:
652
+ Use the specified size (in bytes) for a retransmission request.
653
+ Default is determined by `aspera.conf`.
654
+ type: integer
655
+ target_rate:
656
+ description: Transfer no faster than the specified rate (in bps)
657
+ type: integer
658
+ default: 10000000
659
+ x-ts-name: target_rate_kbps
660
+ x-ts-convert: kbps_to_bps
661
+ write_block_size:
662
+ description:
663
+ Use the specified block size (in bytes) for writing.
664
+ Default is determined by `aspera.conf`.
665
+ type: integer
666
+ udp_port:
667
+ description: Use the specified UDP port for FASP data transfer.
668
+ type: integer
669
+ default: 33001
670
+ watchd:
671
+ description: When connection is configured, `asperawatchd` is used to detect
672
+ the changes on the source directory
673
+ type: object
674
+ properties:
675
+ datastore:
676
+ description: Specify the type of datastore, `none` for disabled.
677
+ enum:
678
+ - none
679
+ - redis
680
+ - scalekv
681
+ default: none
682
+ domain:
683
+ description: Specify the domain.
684
+ Default is the current username.
685
+ type: string
686
+ host:
687
+ description: Use the specified host name or address to connect to the datastore
688
+ type: string
689
+ default: ""
690
+ port:
691
+ description: Use the specified port
692
+ type: integer
693
+ default: 31415
694
+ write_gid:
695
+ description: Try to write files as the specified group
696
+ type: string
697
+ default: ""
698
+ write_uid:
699
+ description: Try to write files as the specified user
700
+ type: string
701
+ default: ""