aspera-cli 4.21.1 → 4.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +4 -2
  3. data/CHANGELOG.md +22 -10
  4. data/CONTRIBUTING.md +68 -143
  5. data/README.md +175 -145
  6. data/bin/ascli +5 -14
  7. data/bin/asession +1 -3
  8. data/examples/get_proto_file.rb +4 -3
  9. data/examples/proxy.pac +20 -20
  10. data/lib/aspera/agent/base.rb +2 -0
  11. data/lib/aspera/agent/{alpha.rb → desktop.rb} +7 -7
  12. data/lib/aspera/agent/direct.rb +9 -1
  13. data/lib/aspera/agent/transferd.rb +24 -17
  14. data/lib/aspera/api/alee.rb +1 -1
  15. data/lib/aspera/api/cos_node.rb +1 -1
  16. data/lib/aspera/api/node.rb +4 -4
  17. data/lib/aspera/ascp/installation.rb +40 -58
  18. data/lib/aspera/cli/extended_value.rb +9 -3
  19. data/lib/aspera/cli/formatter.rb +8 -1
  20. data/lib/aspera/cli/info.rb +1 -0
  21. data/lib/aspera/cli/main.rb +2 -2
  22. data/lib/aspera/cli/manager.rb +3 -3
  23. data/lib/aspera/cli/plugins/aoc.rb +106 -55
  24. data/lib/aspera/cli/plugins/config.rb +10 -31
  25. data/lib/aspera/cli/plugins/faspex5.rb +8 -5
  26. data/lib/aspera/cli/plugins/node.rb +6 -3
  27. data/lib/aspera/cli/version.rb +1 -1
  28. data/lib/aspera/coverage.rb +5 -3
  29. data/lib/aspera/environment.rb +20 -11
  30. data/lib/aspera/faspex_postproc.rb +3 -5
  31. data/lib/aspera/hash_ext.rb +2 -12
  32. data/lib/aspera/oauth/base.rb +6 -1
  33. data/lib/aspera/preview/generator.rb +12 -9
  34. data/lib/aspera/preview/options.rb +2 -2
  35. data/lib/aspera/preview/terminal.rb +1 -1
  36. data/lib/aspera/preview/utils.rb +4 -4
  37. data/lib/aspera/products/connect.rb +34 -0
  38. data/lib/aspera/products/{alpha.rb → desktop.rb} +2 -2
  39. data/lib/aspera/products/transferd.rb +8 -1
  40. data/lib/aspera/rest.rb +4 -4
  41. data/lib/aspera/secret_hider.rb +7 -0
  42. data/lib/aspera/temp_file_manager.rb +5 -4
  43. data/lib/aspera/uri_reader.rb +18 -1
  44. data.tar.gz.sig +0 -0
  45. metadata +4 -174
  46. metadata.gz.sig +0 -0
  47. data/examples/build_exec +0 -74
  48. data/examples/build_exec_rubyc +0 -40
data/README.md CHANGED
@@ -5,7 +5,7 @@ Do not edit this README.md, edit docs/README.erb.md, for details, read docs/READ
5
5
  markdownlint-disable MD033 MD003 MD053
6
6
  cspell:ignore Serban Antipolis
7
7
  PANDOC_META_BEGIN
8
- subtitle: "ascli 4.21.1"
8
+ subtitle: "ascli 4.22.0.pre"
9
9
  PANDOC_META_END
10
10
  -->
11
11
 
@@ -15,7 +15,7 @@ PANDOC_META_END
15
15
 
16
16
  ## Introduction
17
17
 
18
- Version : 4.21.1
18
+ Version : 4.22.0.pre
19
19
 
20
20
  Laurent/2016-2025
21
21
 
@@ -112,7 +112,7 @@ Once the gem is installed, `ascli` shall be accessible:
112
112
 
113
113
  ```console
114
114
  $ ascli --version
115
- 4.21.1
115
+ 4.22.0.pre
116
116
  ```
117
117
 
118
118
  ### First use
@@ -132,14 +132,14 @@ ascli server browse /
132
132
  ```
133
133
 
134
134
  ```output
135
- +------------+--------+-----------+-------+---------------------------+-----------------------+
136
- | zmode | zuid | zgid | size | mtime | name |
137
- +------------+--------+-----------+-------+---------------------------+-----------------------+
138
- | drwxr-xr-x | aspera | asperaweb | 90112 | 2023-04-05 15:31:21 +0200 | Upload |
139
- | dr-xr-xr-x | aspera | asperaweb | 4096 | 2022-10-27 16:08:16 +0200 | aspera-test-dir-large |
140
- | dr-xr-xr-x | aspera | asperaweb | 4096 | 2022-10-27 16:08:17 +0200 | aspera-test-dir-small |
141
- | dr-xr-xr-x | aspera | asperaweb | 4096 | 2022-10-27 16:08:17 +0200 | aspera-test-dir-tiny |
142
- +------------+--------+-----------+-------+---------------------------+-----------------------+
135
+ ╭────────────┬──────┬───────────┬───────┬───────────────────────────┬───────────────────────╮
136
+ zmode zuid zgid size mtime name
137
+ ╞════════════╪══════╪═══════════╪═══════╪═══════════════════════════╪═══════════════════════╡
138
+ dr-xr-xr-x xfer demousers 4096 │ 2014-11-05 16:01:56 +0100 aspera-test-dir-large │
139
+ drwxrwxr-x xfer demousers 94208 │ 2025-03-31 11:27:33 +0200 Upload │
140
+ dr-xr-xr-x xfer demousers 4096 2014-11-05 16:01:56 +0100 aspera-test-dir-small
141
+ dr-xr-xr-x xfer demousers 4096 2014-11-05 16:01:56 +0100 aspera-test-dir-tiny
142
+ ╰────────────┴──────┴───────────┴───────┴───────────────────────────┴───────────────────────╯
143
143
  ```
144
144
 
145
145
  If you want to use `ascli` with another server, and in order to make further calls more convenient, it is advised to define a [Option Preset](#option-preset) for the server's authentication options.
@@ -173,17 +173,16 @@ ascli server browse /aspera-test-dir-large
173
173
  ```
174
174
 
175
175
  ```output
176
- +------------+-----------+-----------+--------------+---------------------------+-------+
177
- | zmode | zuid | zgid | size | mtime | name |
178
- +------------+-----------+-----------+--------------+---------------------------+-------+
179
- | -r-xr-x--- | asperaweb | asperaweb | 104857600 | 2022-10-27 16:06:38 +0200 | 100MB |
180
- | -r-xr-x--- | asperaweb | asperaweb | 10737418240 | 2022-10-27 16:08:12 +0200 | 10GB |
181
- | -r-xr-x--- | asperaweb | asperaweb | 500000000000 | 2022-10-27 16:06:26 +0200 | 500GB |
182
- | -r-xr-x--- | asperaweb | asperaweb | 524288000 | 2022-10-27 14:53:00 +0200 | 500MB |
183
- | -r-xr-x--- | asperaweb | asperaweb | 1048576000 | 2022-10-27 16:06:37 +0200 | 1GB |
184
- | -r-xr-x--- | asperaweb | asperaweb | 5368709120 | 2022-10-27 14:53:47 +0200 | 5GB |
185
- | -r-xr-x--- | asperaweb | asperaweb | 209715200 | 2022-10-27 14:52:56 +0200 | 200MB |
186
- +------------+-----------+-----------+--------------+---------------------------+-------+
176
+ ╭────────────┬──────┬───────────┬─────────────┬───────────────────────────┬───────╮
177
+ zmode zuid zgid size mtime name
178
+ ╞════════════╪══════╪═══════════╪═════════════╪═══════════════════════════╪═══════╡
179
+ -rw-r--r-- xfer demousers 5368709120 │ 2014-11-05 16:01:56 +0100 5GB │
180
+ -rw-r--r-- xfer demousers 524288000 │ 2014-11-05 16:01:56 +0100 500MB │
181
+ -rw-r--r-- xfer demousers 209715200 │ 2014-11-05 16:01:56 +0100 200MB
182
+ -rw-r--r-- xfer demousers 1048576000 │ 2014-11-05 16:01:56 +0100 1GB │
183
+ -rw-r--r-- xfer demousers 104857600 2014-11-05 16:01:56 +0100 100MB │
184
+ -rw-r--r-- xfer demousers 10737418240 │ 2014-11-05 16:01:56 +0100 10GB │
185
+ ╰────────────┴──────┴───────────┴─────────────┴───────────────────────────┴───────╯
187
186
  ```
188
187
 
189
188
  ```bash
@@ -224,10 +223,28 @@ A package with pre-installed Ruby, gem and `ascp` may also be provided.
224
223
 
225
224
  ### `ascli` executable
226
225
 
227
- **Note:** This is an Alpha feature. The binary depends on certain GLIBC version for Linux.
228
-
229
226
  It is planned to provide `ascli` as a single platform-dependent executable.
230
- [Alpha releases can be found here](https://ibm.biz/aspera-cli-exe).
227
+ [Releases can be found here](https://ibm.biz/aspera-cli-exe).
228
+
229
+ **Note:** This is an Alpha feature. On Linux, the executable requires a minimum GLIBC version.
230
+
231
+ On Linux, check your GLIBC version with `ldd`:
232
+
233
+ ```console
234
+ $ ldd --version | head -n1
235
+ ldd (GNU libc) 2.34
236
+ ```
237
+
238
+ Check an executable's min required version:
239
+
240
+ ```console
241
+ $ objdump -p /bin/bash | sed -n 's/^.*GLIBC_//p' | sort -V | tail -n1
242
+ 2.34
243
+ ```
244
+
245
+ > **Note:** if `objdump` is not available use `strings` or `grep -z 'GLIBC_'|tr \\0 \\n`
246
+
247
+ The `ascli` executable still requires installation of `ascp`: Refer to [Install `ascp`](#installation-of-ascp-through-transferd).
231
248
 
232
249
  ### Ruby
233
250
 
@@ -293,7 +310,7 @@ RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@3.0)" rvm instal
293
310
 
294
311
  If your Linux distribution provides a standard Ruby package, you can use it provided that the version supported.
295
312
 
296
- **Example:** RHEL 8+, Rocky Linux 8+, Centos 8 Stream: with extensions to compile native gems
313
+ **Example:** RHEL 8+, Rocky Linux 8+: with extensions to compile native gems
297
314
 
298
315
  - Check available Ruby versions:
299
316
 
@@ -481,7 +498,7 @@ JRUBY_OPTS=--dev ascli -v
481
498
 
482
499
  #### Optional gems
483
500
 
484
- Some additional gems are required for some specific features, see [Gemfile.optional](Gemfile.optional):
501
+ Some additional gems are required for some specific features, see [Gemfile](Gemfile):
485
502
 
486
503
  | name | version | comment |
487
504
  | ---- | ------- | ------- |
@@ -508,7 +525,7 @@ gem install bigdecimal -v '~> 3.1.9'
508
525
  Once you have Ruby and rights to install gems, install the `aspera-cli` gem and its dependencies:
509
526
 
510
527
  ```bash
511
- gem install aspera-cli
528
+ gem install aspera-cli --pre
512
529
  ```
513
530
 
514
531
  To upgrade to the latest version:
@@ -518,7 +535,7 @@ gem update aspera-cli
518
535
  ```
519
536
 
520
537
  During its execution, `ascli` checks every week if a new version is available and notifies the user in a WARN log.
521
- To de-activate this feature, globally set the option `version_check_days` to `0`, or specify a different period in days.
538
+ To unactivate this feature, globally set the option `version_check_days` to `0`, or specify a different period in days.
522
539
 
523
540
  To check if a new version is available (independently of `version_check_days`):
524
541
 
@@ -528,18 +545,18 @@ ascli config check_update
528
545
 
529
546
  #### Gem installation with signature verification
530
547
 
531
- The gem is signed with a private key, and the public certificate is available in the github repository (`certs/aspera-cli-public-cert.pem`).
548
+ The gem is signed with a private key, and the public certificate is available in the gitHub repository (`certs/aspera-cli-public-cert.pem`).
532
549
  When installing the gem, the signature can be optionally verified.
533
550
 
534
551
  For [secure installation](https://guides.rubygems.org/security/#using-gems), one can install the gem with the public key:
535
552
 
536
- - import the verification certificate:
553
+ Import the verification certificate:
537
554
 
538
555
  ```bash
539
556
  gem cert --add <(curl -Ls https://raw.githubusercontent.com/IBM/aspera-cli/main/certs/aspera-cli-public-cert.pem)
540
557
  ```
541
558
 
542
- - Then, install the gem:
559
+ The user installs the gem with `HighSecurity` or `MediumSecurity`: this will succeed only of the gem is trusted:
543
560
 
544
561
  ```bash
545
562
  gem install -P MediumSecurity aspera-cli
@@ -561,7 +578,7 @@ The easiest option to install `ascp` is through the use of the IBM Aspera Transf
561
578
 
562
579
  Supported platforms are listed in the [Release Notes](https://developer.ibm.com/apis/catalog/aspera--aspera-transfer-sdk/Release+notes) and archives can be downloaded from [Downloads](https://developer.ibm.com/apis/catalog/aspera--aspera-transfer-sdk/downloads/downloads.json).
563
580
 
564
- Install with:
581
+ Install using `ascli` for the current platform with:
565
582
 
566
583
  ```bash
567
584
  ascli config ascp install
@@ -573,10 +590,16 @@ or
573
590
  ascli config transferd install
574
591
  ```
575
592
 
576
- This command will retrieve the list of current archives for all platforms from: <https://ibm.biz/sdk_location> and then select the latest version for the current platform.
577
- In this case, the default value for option `sdk_url` is `DEF`.
593
+ The installation of the transfer binary follows those steps:
578
594
 
579
- Available Transfer Daemon versions can be listed with: `ascli config transferd list`
595
+ - Check the value of option `sdk_url`: if the value is the default value `DEF`, then the procedure follows, else it specified a URL where to take the archive from.
596
+ - The location of archives is retrieved from the url specified by option `locations_url` whose default value is <https://ibm.biz/sdk_location>
597
+ - The archive for the current system architecture (CPU and OS) is selected and downloaded.
598
+
599
+ The option `locations_url` can be set to override the URL where the list of versions is located, in case of air-gap environment or for testing.
600
+ Option `sdk_url` can be set to specify a direct location for the transfer binaries.
601
+
602
+ Available Transfer Daemon versions available from `locations_url` can be listed with: `ascli config transferd list`
580
603
 
581
604
  To install a specific version, e.g. 1.1.3:
582
605
 
@@ -651,17 +674,7 @@ The procedure:
651
674
  cd $HOME && tar zcvf rvm-ascli.tgz .rvm
652
675
  ```
653
676
 
654
- - Show the Aspera SDK URL
655
-
656
- ```bash
657
- ascli --show-config --fields=sdk_url
658
- ```
659
-
660
- - Download the SDK archive from that URL
661
-
662
- ```bash
663
- curl -Lso sdk.zip https://ibm.biz/aspera_transfer_sdk
664
- ```
677
+ - Download the SDK archive for the selected architecture, follow [Install `ascp`](#installation-of-ascp-through-transferd)
665
678
 
666
679
  - Transfer those 2 files to the target system
667
680
 
@@ -674,7 +687,7 @@ tar zxvf rvm-ascli.tgz
674
687
 
675
688
  source ~/.rvm/scripts/rvm
676
689
 
677
- ascli config ascp install --sdk-url=file:///sdk.zip
690
+ ascli config ascp install --sdk-url=file:///[SDK archive file path]
678
691
  ```
679
692
 
680
693
  - Add those lines to shell init (`.profile`)
@@ -689,18 +702,18 @@ Installation without network:
689
702
 
690
703
  It is essentially the same procedure as installation for Windows with internet, but instead of retrieving files from internet, copy the files from a machine with internet access, and then install from those archives:
691
704
 
692
- - Download the `exe` Ruby installer from <https://rubyinstaller.org/downloads/>
705
+ - Download the Ruby installer from <https://rubyinstaller.org/downloads/>
693
706
 
694
707
  ```bash
695
- v=$(curl -s https://rubyinstaller.org/downloads/|sed -nEe 's|.*(https://.*/releases/download/.*exe).*|\1|p'|head -n 1)
708
+ v=$(curl -s https://rubyinstaller.org/downloads/ | sed -nEe 's|.*(https://.*/releases/download/.*exe).*|\1|p' | head -n 1)
696
709
  curl -o ${v##*/} $v
697
710
  ```
698
711
 
699
712
  - Create an archive with necessary gems like in previous section
700
713
 
701
- - Download the SDK from: <https://ibm.biz/aspera_transfer_sdk>
714
+ - Download the SDK following [Install `ascp`](#installation-of-ascp-through-transferd)
702
715
 
703
- - Create a Zip with all those files, and transfer to the target system.
716
+ - Create a Zip with all those files and transfer to the target system.
704
717
 
705
718
  Then, on the target system:
706
719
 
@@ -711,7 +724,7 @@ Then, on the target system:
711
724
  rubyinstaller-devkit-3.2.2-1-x64.exe /silent /currentuser /noicons /dir=C:\aspera-cli
712
725
  ```
713
726
 
714
- - Install the gems: Extract the gem archive, and then:
727
+ - Install the gems: Extract the gem archive and then:
715
728
 
716
729
  ```bat
717
730
  gem install --force --local *.gem
@@ -785,7 +798,7 @@ ascli -v
785
798
  ```
786
799
 
787
800
  ```text
788
- 4.21.1
801
+ 4.22.0.pre
789
802
  ```
790
803
 
791
804
  In order to keep persistency of configuration on the host, you should specify your user's configuration folder as a volume for the container.
@@ -886,7 +899,7 @@ podman load -i ascli_image_latest.tar.gz
886
899
 
887
900
  #### Container: `aspera.conf`
888
901
 
889
- `ascp`'s configuration file `aspera.conf` is located in the container at: `/aspera_sdk/aspera.conf` (see Dockerfile).
902
+ `ascp`'s configuration file `aspera.conf` is located in the container at: `/ibm_aspera/aspera.conf` (see Dockerfile).
890
903
  As the container is immutable, it is not recommended to modify this file.
891
904
  If one wants to change the content, it is possible to tell `ascp` to use another file using `ascp` option `-f`, e.g. by locating it on the host folder `$HOME/.aspera/ascli` mapped to the container folder `/home/cliuser/.aspera/ascli`:
892
905
 
@@ -1700,12 +1713,12 @@ ascli aoc admin user list --fields=name,email,ats_admin --query=@json:'{"sort":"
1700
1713
  ```
1701
1714
 
1702
1715
  ```output
1703
- +-------------------------------+----------------------------------+-----------+
1704
- | name | email | ats_admin |
1705
- +-------------------------------+----------------------------------+-----------+
1706
- | John Curtis | john@example.com | true |
1707
- | Laurent Martin | laurent@example.com | true |
1708
- +-------------------------------+----------------------------------+-----------+
1716
+ ╭────────────────┬─────────────────────┬───────────╮
1717
+ nameemail ats_admin
1718
+ ╞════════════════╪═════════════════════╪═══════════╡
1719
+ John Curtis john@example.com true
1720
+ Laurent Martin laurent@example.com true
1721
+ ╰────────────────┴─────────────────────┴───────────╯
1709
1722
  ```
1710
1723
 
1711
1724
  > **Note:** Option `select` filters elements from the result of command, while the `query` option gives filtering parameters to the API when listing elements.
@@ -1836,12 +1849,12 @@ ascli config echo @json:@extend:'{"hello":true,"version":"@preset:config.version
1836
1849
  ```
1837
1850
 
1838
1851
  ```output
1839
- +---------+-----------+
1840
- | field | value |
1841
- +---------+-----------+
1842
- | hello | true |
1843
- | version | 4.14.0 |
1844
- +---------+-----------+
1852
+ ╭─────────┬────────╮
1853
+ field value
1854
+ ╞═════════╪════════╡
1855
+ hello true
1856
+ version 4.21.1 │
1857
+ ╰─────────┴────────╯
1845
1858
  ```
1846
1859
 
1847
1860
  Example: Create a `Hash` from YAML provided as shell **heredoc**:
@@ -2588,13 +2601,13 @@ It will display the exact content of HTTP requests and responses.
2588
2601
  To ignore SSL certificate for **any** address/port, use option: `insecure`, i.e. `--insecure=yes`.
2589
2602
  To ignore SSL certificate for a list of specific address/port, use option `ignore_certificate`, set to an `Array` of URL for which certificate will be ignored (only the address and port are matched), e.g. `--ignore-certificate=@list:,https://127.0.0.1:9092`
2590
2603
 
2591
- > **Note:** Ignoring certificate also applies to `ascp`'s wss.
2604
+ > **Note:** Ignoring certificate also applies to `ascp` WSS.
2592
2605
 
2593
2606
  Ignoring a certificate is not recommended, it is better to add the certificate to the trusted store.
2594
2607
  So, a warning is displayed when a certificate is ignored.
2595
2608
  To disable the warning, use option `silent_insecure` set to `no`.
2596
2609
 
2597
- HTTP connection parameters (not `ascp` wss) can be adjusted using option `http_options`:
2610
+ HTTP connection parameters (not `ascp` WSS) can be adjusted using option `http_options`:
2598
2611
 
2599
2612
  | Parameter | Default | Where |
2600
2613
  |---------------------------|---------------|-----------|
@@ -2760,11 +2773,12 @@ ascli config ascp info
2760
2773
  ```
2761
2774
 
2762
2775
  ```output
2763
- +--------------------+-----------------------------------------------------------+
2764
- | field | value |
2765
- +--------------------+-----------------------------------------------------------+
2766
- | ascp | /Users/laurent/.aspera/ascli/sdk/ascp |
2776
+ ╭─────────┬──────────────────────────────────────────────────╮
2777
+ field value
2778
+ ╞═════════╪══════════════════════════════════════════════════╡
2779
+ ascp /Users/john/.aspera/sdk/ascp
2767
2780
  ...
2781
+ ╰─────────┴──────────────────────────────────────────────────╯
2768
2782
  ```
2769
2783
 
2770
2784
  #### Selection of `ascp` location for [`direct`](#agent-direct) agent
@@ -2887,7 +2901,7 @@ The following agents are supported and selected with option `transfer`:
2887
2901
  | [`direct`](#agent-direct) | local | direct execution of `ascp` |
2888
2902
  | [`transferd`](#agent-transfer-sdk) | local | Aspera Transfer Daemon |
2889
2903
  | [`connect`](#agent-connect-client) | local | Aspera Connect Client |
2890
- | [`alpha`](#agent-desktop-client) | local | Aspera for Desktop |
2904
+ | [`desktop`](#agent-desktop-client) | local | Aspera for Desktop |
2891
2905
  | [`node`](#agent-node-api) | remote | Aspera Transfer Node |
2892
2906
  | [`httpgw`](#agent-http-gateway) | remote | Aspera HTTP Gateway |
2893
2907
 
@@ -2912,7 +2926,7 @@ The `transfer_info` option accepts the following optional parameters to control
2912
2926
 
2913
2927
  | Name | Type | Description |
2914
2928
  |------------------------|---------|-------------|
2915
- | `wss` | `Bool` | Web Socket Session<br/>Enable use of web socket session in case it is available<br/>Default: true |
2929
+ | `wss` | `Bool` | Web Socket Session<br/>Enable use of web socket session in case it is available<br/>Default: `true` |
2916
2930
  | `quiet` | `Bool` | If `true`, then `ascp` progress bar is not shown.<br/>Default: `false` |
2917
2931
  | `trusted_certs` | `Array` | List of repositories for trusted certificates. |
2918
2932
  | `client_ssh_key` | `String` | SSH Keys to use for token-based transfers. One of: `dsa_rsa`, `rsa`, `per_client`. Default: `rsa` |
@@ -3046,7 +3060,7 @@ There are no option for `transfer_info`.
3046
3060
 
3047
3061
  #### Agent: Desktop Client
3048
3062
 
3049
- By specifying option: `--transfer=alpha`, `ascli` will start transfers using the locally installed **IBM Aspera Desktop Client**.
3063
+ By specifying option: `--transfer=desktop`, `ascli` will start transfers using the locally installed **IBM Aspera Desktop Client**.
3050
3064
  There are no option for `transfer_info`.
3051
3065
 
3052
3066
  #### Agent: Node API
@@ -3058,10 +3072,10 @@ Parameters provided in option `transfer_info` are:
3058
3072
 
3059
3073
  | Nam e | Type | Description |
3060
3074
  |------------|--------|--------------------------------------------------|
3061
- | `url` | `String` | URL of the node API</br>Mandatory |
3062
- | `username` | `String` | Node api user or access key</br>Mandatory |
3063
- | `password` | `String` | Password, secret or bearer token</br>Mandatory |
3064
- | `root_id` | `String` | Root file id</br>Mandatory only for bearer token |
3075
+ | `url` | `String` | URL of the node API<br/>Mandatory |
3076
+ | `username` | `String` | Node api user or access key<br/>Mandatory |
3077
+ | `password` | `String` | Password, secret or bearer token<br/>Mandatory |
3078
+ | `root_id` | `String` | Root file id<br/>Mandatory only for bearer token |
3065
3079
 
3066
3080
  Like any other option, `transfer_info` can get its value from a pre-configured [Option Preset](#option-preset) :
3067
3081
 
@@ -3088,12 +3102,12 @@ By specifying option: `--transfer=httpgw`, `ascli` will start transfers using th
3088
3102
 
3089
3103
  Parameters provided in option `transfer_info` are:
3090
3104
 
3091
- | Name | Type | Description |
3092
- |------------------------|--------|---------------------------------------|
3093
- | url | `String` | URL of the HTTP GW</br>Mandatory |
3094
- | upload_chunk_size | `Integer` | Size in bytes of chunks for upload<br/>Default: `64000` |
3095
- | api_version | `String` | Force use of version (`v1`, `v2`)<br/>Default: `v2` |
3096
- | synchronous | `Bool` | Wait for each message acknowledgment<br/>Default: `false` |
3105
+ | Name | Type | Description |
3106
+ |---------------------|-----------|---------------------------------------|
3107
+ | `url` | `String` | URL of the HTTP GW<br/>Mandatory |
3108
+ | `upload_chunk_size` | `Integer` | Size in bytes of chunks for upload<br/>Default: `64000` |
3109
+ | `api_version` | `String` | Force use of version (`v1`, `v2`)<br/>Default: `v2` |
3110
+ | `synchronous` | `Bool` | Wait for each message acknowledgment<br/>Default: `false` |
3097
3111
 
3098
3112
  Example:
3099
3113
 
@@ -3112,11 +3126,11 @@ Set option `transfer` to `transferd`.
3112
3126
 
3113
3127
  Options for `transfer_info` are:
3114
3128
 
3115
- | Name | Type | Description |
3116
- |----------|--------|-------------|
3117
- | `url` | `String` | IP address and port listened by the daemon</br>Mandatory<br/>Default: `:0` |
3118
- | `external` | `Bool` | Use external daemon, do not start one.<br/>Default: `false` |
3119
- | `keep` | `Bool` | Keep the daemon running after exiting `ascli`<br/>Default: `false` |
3129
+ | Name | Type | Description |
3130
+ |----------|----------|-------------|
3131
+ | `url` | `String` | IP address and port listened by the daemon<br/>Mandatory<br/>Default: `:0` |
3132
+ | `start` | `Bool` | Start a new daemon.<br/>Default: `true` |
3133
+ | `stop` | `Bool` | Stop daemon when exiting `ascli`<br/>Default: `true` |
3120
3134
 
3121
3135
  > **Note:** If port zero is specified in the URL, then the daemon will listen on a random available port. If no address is specified, then `127.0.0.1` is used.
3122
3136
 
@@ -3199,9 +3213,9 @@ Columns:
3199
3213
 
3200
3214
  `ascp` argument or environment variable is provided in description.
3201
3215
 
3202
- | Field | Type | N | D | A | T | H | C | Description |
3216
+ | Field | Type | D | N | D | T | H | C | Description |
3203
3217
  | ----- | ---- | - | - | - | - | - | - | ----------- |
3204
- | apply_local_docroot | bool | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Apply local docroot to source paths.<br/>(--apply-local-docroot) |
3218
+ | apply_local_docroot | bool | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Apply local docroot to source paths.<br/>(--apply-local-docroot) |
3205
3219
  | authentication | string | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | value=token for SSH bypass keys, else password asked if not provided.<br/>(&lt;ignored&gt;) |
3206
3220
  | cipher | string | Y | Y | Y | Y | Y | Y | In transit encryption type.<br/>Allowed values: none, aes-128, aes-192, aes-256, aes-128-cfb, aes-192-cfb, aes-256-cfb, aes-128-gcm, aes-192-gcm, aes-256-gcm<br/>(-c (conversion){enum}) |
3207
3221
  | cipher_allowed | string | Y | Y | Y | Y | Y | Y | returned by node API. Valid literals include "aes-128" and "none".<br/>(&lt;ignored&gt;) |
@@ -3211,7 +3225,7 @@ Columns:
3211
3225
  | cookie | string | Y | Y | Y | Y | Y | Y | Metadata for transfer specified by application<br/>(env:ASPERA_SCP_COOKIE) |
3212
3226
  | create_dir | bool | Y | Y | Y | Y | Y | Y | Specifies whether to create new directories.<br/>(-d) |
3213
3227
  | delete_before_transfer | bool | Y | Y | Y | Y | Y | Y | Before transfer, delete files that exist at the destination but not at the source.<br/>The source and destination arguments must be directories that have matching names.<br/>Objects on the destination that have the same name but different type or size as objects<br/>on the source are not deleted.<br/>(--delete-before-transfer) |
3214
- | delete_source | bool | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Remove SRC files after transfer success<br/>(--remove-after-transfer) |
3228
+ | delete_source | bool | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | Remove SRC files after transfer success<br/>(--remove-after-transfer) |
3215
3229
  | destination_root | string | Y | Y | Y | Y | Y | Y | Destination root directory.<br/>(&lt;special&gt;) |
3216
3230
  | destination_root_id | string | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | The file ID of the destination root directory.<br/>Required when using Bearer token auth for the destination node.<br/>(&lt;ignored&gt;) |
3217
3231
  | dgram_size | int | Y | Y | Y | Y | Y | Y | UDP datagram size in bytes<br/>(-Z {int}) |
@@ -3220,11 +3234,11 @@ Columns:
3220
3234
  | exclude_older_than | string | Y | Y | Y | Y | Y | Y | Exclude files, but not directories, from the transfer if they are older than the specified number of seconds added to the source computer's epoch. e.g. "-86400" for older than a day back.<br/>(--exclude-older-than {string}) |
3221
3235
  | fasp_port | int | Y | Y | Y | Y | Y | Y | Specifies fasp (UDP) port.<br/>(-O {int}) |
3222
3236
  | fasp_url | string | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Only used in Faspex.<br/>(&lt;ignored&gt;) |
3223
- | file_checksum | string | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Enable checksum reporting for transferred files by specifying the hash to use.<br/>Allowed values: sha-512, sha-384, sha-256, sha1, md5, none<br/>(&lt;ignored&gt;) |
3237
+ | file_checksum | string | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | Enable checksum reporting for transferred files by specifying the hash to use.<br/>Allowed values: sha-512, sha-384, sha-256, sha1, md5, none<br/>(&lt;ignored&gt;) |
3224
3238
  | http_fallback | bool<br/>string | Y | Y | Y | Y | Y | Y | When true(1), attempts to perform an HTTP transfer if a FASP transfer cannot be performed.<br/>(-y (conversion){bool}\|{string}) |
3225
- | http_fallback_port | int | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Specifies http port when no cipher is used<br/>(-t {int}) |
3239
+ | http_fallback_port | int | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Specifies http port when no cipher is used<br/>(-t {int}) |
3226
3240
  | https_fallback_port | int | Y | Y | Y | Y | Y | Y | Specifies https port when cipher is used<br/>(-t {int}) |
3227
- | keepalive | bool | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | The session is running in persistent session mode.<br/>(--keepalive) |
3241
+ | keepalive | bool | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | The session is running in persistent session mode.<br/>(--keepalive) |
3228
3242
  | lock_min_rate | bool | Y | Y | Y | Y | Y | Y | TODO: remove ?<br/>(&lt;ignored&gt;) |
3229
3243
  | lock_min_rate_kbps | bool | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | If true, lock the minimum transfer rate to the value set for min_rate_kbps.<br/>If false, users can adjust the transfer rate up to the value set for target_rate_cap_kbps.<br/>(&lt;ignored&gt;) |
3230
3244
  | lock_rate_policy | bool | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | If true, lock the rate policy to the default value.<br/>(&lt;ignored&gt;) |
@@ -3232,25 +3246,25 @@ Columns:
3232
3246
  | lock_target_rate_kbps | bool | Y | Y | Y | Y | Y | Y | If true, lock the target transfer rate to the default value set for target_rate_kbps.<br/>If false, users can adjust the transfer rate up to the value set for target_rate_cap_kbps.<br/>(&lt;ignored&gt;) |
3233
3247
  | min_rate_cap_kbps | int | Y | Y | Y | Y | Y | Y | The highest minimum rate that an incoming transfer can request, in kilobits per second.<br/>Client minimum rate requests that exceed the minimum rate cap are ignored.<br/>The default value of unlimited applies no cap to the minimum rate. (Default: 0)<br/>(&lt;ignored&gt;) |
3234
3248
  | min_rate_kbps | int | Y | Y | Y | Y | Y | Y | Set the minimum transfer rate in kilobits per second.<br/>(-m {int}) |
3235
- | move_after_transfer | string | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | The relative path to which the files will be moved after the transfer at the source side. Available as of 3.8.0.<br/>(--move-after-transfer {string}) |
3249
+ | move_after_transfer | string | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | The relative path to which the files will be moved after the transfer at the source side. Available as of 3.8.0.<br/>(--move-after-transfer {string}) |
3236
3250
  | multi_session | int | Y | Y | Y | Y | Y | Y | Use multi-session transfer. max 128.<br/>Each participant on one host needs an independent UDP (-O) port.<br/>Large files are split between sessions only when transferring with resume_policy=none.<br/><br/>(&lt;special&gt;) |
3237
- | multi_session_threshold | int | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Split files across multiple ascp sessions if their size in bytes is greater than or equal to the specified value.<br/>(0=no file is split)<br/>(--multi-session-threshold {int}) |
3251
+ | multi_session_threshold | int | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | Split files across multiple ascp sessions if their size in bytes is greater than or equal to the specified value.<br/>(0=no file is split)<br/>(--multi-session-threshold {int}) |
3238
3252
  | obfuscate_file_names | bool | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | &nbsp; | HTTP Gateway obfuscates file names when set to true.<br/>(&lt;ignored&gt;) |
3239
3253
  | overwrite | string | Y | Y | Y | Y | Y | Y | Overwrite destination files with the source files of the same name.<br/>Allowed values: never, always, diff, older, diff+older<br/>(--overwrite {enum}) |
3240
- | password | string | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Password for local Windows user when transfer user associated with node api user is not the same as the one running asperanoded.<br/>Allows impersonating the transfer user and have access to resources (e.g. network shares).<br/>Windows only, node api only.<br/>(&lt;ignored&gt;) |
3254
+ | password | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Password for local Windows user when transfer user associated with node api user is not the same as the one running asperanoded.<br/>Allows impersonating the transfer user and have access to resources (e.g. network shares).<br/>Windows only, node api only.<br/>(&lt;ignored&gt;) |
3241
3255
  | paths | array | Y | Y | Y | Y | Y | Y | Array of path to the source (required) and a path to the destination (optional).<br/>(&lt;special&gt;) |
3242
3256
  | precalculate_job_size | bool | Y | Y | Y | Y | Y | Y | Specifies whether to precalculate the job size.<br/>(--precalculate-job-size) |
3243
3257
  | preserve_access_time | bool | Y | Y | Y | Y | Y | Y | Preserve the source-file access timestamps at the destination.<br/>Because source access times are updated by the transfer operation,<br/>the timestamp that is preserved is the one just before to the transfer.<br/>(--preserve-access-time) |
3244
- | preserve_acls | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve access control lists.<br/>Allowed values: none, native, metafile<br/>(--preserve-acls {enum}) |
3258
+ | preserve_acls | string | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Preserve access control lists.<br/>Allowed values: none, native, metafile<br/>(--preserve-acls {enum}) |
3245
3259
  | preserve_creation_time | bool | Y | Y | Y | Y | Y | Y | (Windows only) Preserve source-file creation timestamps at the destination.<br/>Only Windows systems retain information about creation time.<br/>If the destination is not a Windows computer, this option is ignored.<br/>(--preserve-creation-time) |
3246
3260
  | preserve_extended_attrs | string | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve the extended attributes.<br/>Allowed values: none, native, metafile<br/>(--preserve-xattrs {enum}) |
3247
- | preserve_file_owner_gid | bool | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve the group ID for a file owner<br/>(--preserve-file-owner-gid) |
3248
- | preserve_file_owner_uid | bool | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve the user ID for a file owner<br/>(--preserve-file-owner-uid) |
3261
+ | preserve_file_owner_gid | bool | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Preserve the group ID for a file owner<br/>(--preserve-file-owner-gid) |
3262
+ | preserve_file_owner_uid | bool | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Preserve the user ID for a file owner<br/>(--preserve-file-owner-uid) |
3249
3263
  | preserve_modification_time | bool | Y | Y | Y | Y | Y | Y | Set the modification time, the last time a file or directory was modified (written), of a transferred file<br/>to the modification of the source file or directory.<br/>Preserve source-file modification timestamps at the destination.<br/>(--preserve-modification-time) |
3250
- | preserve_remote_acls | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve remote access control lists.<br/>Allowed values: none, native, metafile<br/>(--remote-preserve-acls {enum}) |
3251
- | preserve_source_access_time | bool | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve the time logged for when the source file was accessed<br/>(--preserve-source-access-time) |
3252
- | preserve_times | bool | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve file timestamps.<br/>(--preserve-times) |
3253
- | proxy | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Specify the address of the Aspera high-speed proxy server.<br/>dnat(s)://[user[:password]@]server:port<br/>Default ports for DNAT and DNATS protocols are 9091 and 9092.<br/>Password, if specified here, overrides the value of environment variable ASPERA_PROXY_PASS.<br/>(--proxy {string}) |
3264
+ | preserve_remote_acls | string | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Preserve remote access control lists.<br/>Allowed values: none, native, metafile<br/>(--remote-preserve-acls {enum}) |
3265
+ | preserve_source_access_time | bool | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Preserve the time logged for when the source file was accessed<br/>(--preserve-source-access-time) |
3266
+ | preserve_times | bool | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Preserve file timestamps.<br/>(--preserve-times) |
3267
+ | proxy | string | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Specify the address of the Aspera high-speed proxy server.<br/>dnat(s)://[user[:password]@]server:port<br/>Default ports for DNAT and DNATS protocols are 9091 and 9092.<br/>Password, if specified here, overrides the value of environment variable ASPERA_PROXY_PASS.<br/>(--proxy {string}) |
3254
3268
  | rate_policy | string | Y | Y | Y | Y | Y | Y | The transfer rate policy to use when sharing bandwidth.<br/>Allowed values: low, fair, high, fixed<br/>(--policy {enum}) |
3255
3269
  | rate_policy_allowed | string | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | Specifies most aggressive rate policy that is allowed.<br/>Returned by node API.<br/>Allowed values: low, fair, high, fixed<br/>(&lt;ignored&gt;) |
3256
3270
  | read_threads | int | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | ascp4 only<br/>(&lt;ignored&gt;) |
@@ -3258,33 +3272,33 @@ Columns:
3258
3272
  | remote_host | string | Y | Y | Y | Y | Y | Y | IP or fully qualified domain name of the remote server<br/>(--host {string}) |
3259
3273
  | remote_password | string | Y | Y | Y | Y | Y | Y | SSH session password<br/>(env:ASPERA_SCP_PASS) |
3260
3274
  | remote_user | string | Y | Y | Y | Y | Y | Y | Remote user. Default value is "xfer" on node or connect.<br/>(--user {string}) |
3261
- | remove_after_transfer | bool | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Remove SRC files after transfer success<br/>(--remove-after-transfer) |
3262
- | remove_empty_directories | bool | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Specifies whether to remove empty directories.<br/>(--remove-empty-directories) |
3263
- | remove_empty_source_directory | bool | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Remove empty source subdirectories and remove the source directory itself, if empty<br/>(--remove-empty-source-directory) |
3264
- | remove_skipped | bool | Y | Y | &nbsp; | &nbsp; | &nbsp; | Y | Must also have remove_after_transfer set to true, Defaults to false, if true, skipped files will be removed as well.<br/>(--remove-skipped) |
3275
+ | remove_after_transfer | bool | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | Remove SRC files after transfer success<br/>(--remove-after-transfer) |
3276
+ | remove_empty_directories | bool | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | Specifies whether to remove empty directories.<br/>(--remove-empty-directories) |
3277
+ | remove_empty_source_directory | bool | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Remove empty source subdirectories and remove the source directory itself, if empty<br/>(--remove-empty-source-directory) |
3278
+ | remove_skipped | bool | Y | Y | Y | &nbsp; | &nbsp; | Y | Must also have remove_after_transfer set to true, Defaults to false, if true, skipped files will be removed as well.<br/>(--remove-skipped) |
3265
3279
  | resume_policy | string | Y | Y | Y | Y | Y | Y | If a transfer is interrupted or fails to finish, resume without re-transferring the whole files.<br/>Allowed values: none, attrs, sparse_csum, full_csum<br/>(-k (conversion){enum}) |
3266
- | retry_duration | string<br/>int | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | Specifies how long to wait before retrying transfer. (e.g. "5min")<br/>(&lt;ignored&gt;) |
3280
+ | retry_duration | string<br/>int | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Y | Specifies how long to wait before retrying transfer. (e.g. "5min")<br/>(&lt;ignored&gt;) |
3267
3281
  | source_root | string | Y | Y | Y | Y | Y | Y | Path to be prepended to each source path.<br/>This is either a conventional path or it can be a URI but only if there is no root defined.<br/>(--source-prefix64 (conversion){string}) |
3268
- | source_root_id | string | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | The file ID of the source root directory. Required when using Bearer token auth for the source node.<br/>(&lt;ignored&gt;) |
3269
- | src_base | string | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Specify the prefix to be stripped off from each source object.<br/>The remaining portion of the source path is kept intact at the destination.<br/>Special care must be taken when used with cloud storage.<br/>(--src-base64 (conversion){string}) |
3282
+ | source_root_id | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | The file ID of the source root directory. Required when using Bearer token auth for the source node.<br/>(&lt;ignored&gt;) |
3283
+ | src_base | string | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | Specify the prefix to be stripped off from each source object.<br/>The remaining portion of the source path is kept intact at the destination.<br/>Special care must be taken when used with cloud storage.<br/>(--src-base64 (conversion){string}) |
3270
3284
  | ssh_args | string | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Array of arguments to pass to SSH. Use with caution.<br/>(&lt;ignored&gt;) |
3271
3285
  | ssh_port | int | Y | Y | Y | Y | Y | Y | Specifies SSH (TCP) port. Default: local:22, other:33001<br/>(-P {int}) |
3272
- | ssh_private_key | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Private key used for SSH authentication.<br/>Shall look like: -----BEGIN RSA PRIV4TE KEY-----\nMII...<br/>Note the JSON encoding: \n for newlines.<br/>(env:ASPERA_SCP_KEY) |
3273
- | ssh_private_key_passphrase | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | The passphrase associated with the transfer user's SSH private key. Available as of 3.7.2.<br/>(env:ASPERA_SCP_PASS) |
3286
+ | ssh_private_key | string | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Private key used for SSH authentication.<br/>Shall look like: -----BEGIN RSA PRIV4TE KEY-----\nMII...<br/>Note the JSON encoding: \n for newlines.<br/>(env:ASPERA_SCP_KEY) |
3287
+ | ssh_private_key_passphrase | string | Y | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | The passphrase associated with the transfer user's SSH private key. Available as of 3.7.2.<br/>(env:ASPERA_SCP_PASS) |
3274
3288
  | sshfp | string | Y | Y | Y | Y | Y | Y | Check it against server SSH host key fingerprint<br/>(--check-sshfp {string}) |
3275
3289
  | symlink_policy | string | Y | Y | Y | Y | Y | Y | Handle source side symbolic links<br/>Allowed values: follow, copy, copy+force, skip<br/>(--symbolic-links {enum}) |
3276
3290
  | tags | hash | Y | Y | Y | Y | Y | Y | Metadata for transfer as JSON. Key `aspera` is reserved. Key `aspera.xfer_retry` specified a retry timeout for node api initiated transfers.<br/>(--tags64 (conversion){hash}) |
3277
3291
  | target_rate_cap_kbps | int | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | Returned by upload/download_setup node API.<br/>(&lt;ignored&gt;) |
3278
3292
  | target_rate_kbps | int | Y | Y | Y | Y | Y | Y | Specifies desired speed for the transfer.<br/>(-l {int}) |
3279
3293
  | target_rate_percentage | string | Y | Y | Y | Y | Y | Y | TODO: remove ?<br/>(&lt;ignored&gt;) |
3280
- | title | string | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | Y | Title of the transfer<br/>(&lt;ignored&gt;) |
3294
+ | title | string | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | Y | Title of the transfer<br/>(&lt;ignored&gt;) |
3281
3295
  | token | string | Y | Y | Y | Y | Y | Y | Authorization token: Bearer, Basic or ATM (Also arg -W)<br/>(env:ASPERA_SCP_TOKEN) |
3282
- | use_ascp4 | bool | Y | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | specify version of protocol<br/>(&lt;special&gt;) |
3296
+ | use_ascp4 | bool | Y | Y | Y | &nbsp; | &nbsp; | &nbsp; | specify version of protocol<br/>(&lt;special&gt;) |
3283
3297
  | use_system_ssh | string | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | TODO, comment...<br/>(&lt;ignored&gt;) |
3284
3298
  | write_threads | int | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | ascp4 only<br/>(&lt;ignored&gt;) |
3285
3299
  | wss_enabled | bool | Y | Y | Y | Y | Y | Y | Server has Web Socket service enabled<br/>(&lt;special&gt;) |
3286
3300
  | wss_port | int | Y | Y | Y | Y | Y | Y | TCP port used for websocket service feed<br/>(&lt;special&gt;) |
3287
- | xfer_max_retries | int | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | &nbsp; | maximum number of retries, for node API initiated transfers. Shall not exceed aspera.conf `transfer_manager_max_retries` (default 5).<br/>(&lt;ignored&gt;) |
3301
+ | xfer_max_retries | int | &nbsp; | Y | &nbsp; | &nbsp; | &nbsp; | &nbsp; | maximum number of retries, for node API initiated transfers. Shall not exceed aspera.conf `transfer_manager_max_retries` (default 5).<br/>(&lt;ignored&gt;) |
3288
3302
 
3289
3303
  #### Destination folder for transfers
3290
3304
 
@@ -3729,7 +3743,7 @@ ascli server upload "faux:///mydir?file=testfile&count=1m&size=0&inc=2&seq=seque
3729
3743
  ```text
3730
3744
  ascli -h
3731
3745
  NAME
3732
- ascli -- a command line tool for Aspera Applications (v4.21.1)
3746
+ ascli -- a command line tool for Aspera Applications (v4.22.0.pre)
3733
3747
 
3734
3748
  SYNOPSIS
3735
3749
  ascli COMMANDS [OPTIONS] [ARGS]
@@ -3802,7 +3816,8 @@ OPTIONS: global
3802
3816
  --key-path=VALUE Wizard: path to private key for JWT
3803
3817
  --ascp-path=VALUE Path to ascp
3804
3818
  --use-product=VALUE Use ascp from specified product
3805
- --sdk-url=VALUE URL to get SDK
3819
+ --sdk-url=VALUE URL to get Aspera Transfer Daemon
3820
+ --locations-url=VALUE URL to get locations of Aspera Transfer Daemon
3806
3821
  --sdk-folder=VALUE SDK folder path
3807
3822
  --progress-bar=ENUM Display progress bar: [no], yes
3808
3823
  --smtp=VALUE SMTP configuration (Hash)
@@ -3821,7 +3836,7 @@ OPTIONS: global
3821
3836
  --to-folder=VALUE Destination folder for transferred files
3822
3837
  --sources=VALUE How list of transferred files is provided (@args,@ts,Array)
3823
3838
  --src-type=ENUM Type of file list: [list], pair
3824
- --transfer=ENUM Type of transfer agent: node, [direct], alpha, transferd, httpgw, connect
3839
+ --transfer=ENUM Type of transfer agent: desktop, node, [direct], transferd, httpgw, connect
3825
3840
  --transfer-info=VALUE Parameters for transfer agent (Hash)
3826
3841
 
3827
3842
  COMMAND: config
@@ -3966,10 +3981,10 @@ OPTIONS:
3966
3981
  --thumb-vid-scale=VALUE Png: video: size (ffmpeg scale argument)
3967
3982
  --thumb-vid-fraction=VALUE Png: video: time percent position of snapshot
3968
3983
  --thumb-img-size=VALUE Png: non-video: height (and width)
3969
- --thumb-text-font=VALUE Png: plaintext: font to render text with imagemagick convert (identify -list font)
3984
+ --thumb-text-font=VALUE Png: plaintext: font for text rendering: `magick identify -list font`
3970
3985
  --video-conversion=ENUM Mp4: method for preview generation: [reencode], blend, clips
3971
3986
  --video-png-conv=ENUM Mp4: method for thumbnail generation: [fixed], animated
3972
- --video-scale=VALUE Mp4: all: video scale (ffmpeg)
3987
+ --video-scale=VALUE Mp4: all: video scale (ffmpeg scale argument)
3973
3988
  --video-start-sec=VALUE Mp4: all: start offset (seconds) of video preview
3974
3989
  --reencode-ffmpeg=VALUE Mp4: reencode: options to ffmpeg
3975
3990
  --blend-keyframes=VALUE Mp4: blend: # key frames
@@ -5007,7 +5022,7 @@ To list packages in a shared inbox, the query has to be specified with the the s
5007
5022
  Additional parameters can be specified, as supported by the API (to find out available filters, consult the API definition, or use the web interface in developer mode).
5008
5023
  The current workspace is added unless specified in the query.
5009
5024
 
5010
- > **Note:** By default, `exclude_dropbox_packages` is set to true for user packages, and to false for shared inbox packages. This can be overridden in the query.
5025
+ > **Note:** By default, `exclude_dropbox_packages` is set to `true` for user packages, and to false for shared inbox packages. This can be overridden in the query.
5011
5026
 
5012
5027
  Using shared inbox name:
5013
5028
 
@@ -5287,7 +5302,9 @@ admin package list --http-options=@json:'{"read_timeout":120.0}'
5287
5302
  admin saml_configuration list
5288
5303
  admin self show
5289
5304
  admin short_link list
5290
- admin subscription
5305
+ admin subscription account
5306
+ admin subscription usage
5307
+ admin subscription usage MONTH
5291
5308
  admin user list
5292
5309
  admin user modify %name:my_user_email @json:'{"deactivated":false}'
5293
5310
  admin workspace list
@@ -5310,8 +5327,8 @@ files browse my_remote_file
5310
5327
  files browse my_remote_folder
5311
5328
  files browse my_remote_folder/
5312
5329
  files delete /testsrc
5313
- files download --transfer=alpha testdst/test_file.bin
5314
5330
  files download --transfer=connect testdst/test_file.bin
5331
+ files download --transfer=desktop testdst/test_file.bin
5315
5332
  files find /
5316
5333
  files find / '\.partial$'
5317
5334
  files find / @ruby:'->(f){f["type"].eql?("file")}'
@@ -5740,10 +5757,10 @@ Examples of expressions:
5740
5757
  ascli node access_keys do self find /Documents '*.txt'
5741
5758
  ```
5742
5759
 
5743
- The following are examples of `ruby_lambda` to be provided in the following template command:
5760
+ The following are examples of Ruby lambda code to be provided in the following template command:
5744
5761
 
5745
5762
  ```bash
5746
- ascli node access_keys do self find / @ruby:'ruby_lambda'
5763
+ ascli node access_keys do self find / @ruby:'->(f){[code here]}'
5747
5764
  ```
5748
5765
 
5749
5766
  > **Note:** Single quotes are used here above to protect the whole **Ruby** expression from the shell. Then double quotes are used for strings in the **Ruby** expression to not mix with the shell.
@@ -5791,7 +5808,7 @@ ascli node access_keys do self find / @ruby:'->(f){f["type"].eql?("file") and (D
5791
5808
  When a transfer is run, its information is stored (typicall, 1 day) in the HSTS database (Redis).
5792
5809
  This information can be retrieved with command: `transfer list`.
5793
5810
 
5794
- If the number of transfer is too large, then the list will be retrieved in several API calls.
5811
+ If the number of transfers is too large, then the list will be retrieved using several API calls.
5795
5812
 
5796
5813
  In addition, it is possible to list "only new information" using option `once_only`.
5797
5814
 
@@ -5799,7 +5816,7 @@ In addition, it is possible to list "only new information" using option `once_on
5799
5816
  ascli node transfer list --once-only=yes
5800
5817
  ```
5801
5818
 
5802
- The `iteratin_token` that keeps memory of latest event is stored in the persistance repository of `ascli`.
5819
+ The `iteration_token` that keeps memory of latest event is stored in the persistance repository of `ascli`.
5803
5820
  To reset it, add option: `--query=@json:'{"reset": true}'`.
5804
5821
  To list only a number of events, use the `max` parameter in query.
5805
5822
  Other parameters are directly transmitted to the underlying API (`GET /ops/transfers`).
@@ -5961,6 +5978,8 @@ Bearer tokens can be generated using command `bearer_token`: it takes two argume
5961
5978
 
5962
5979
  | parameter | Default | type | description |
5963
5980
  | ------------------------ |-----------------------------|-----------|----------------------------------------------------------|
5981
+ | _scope | `user:all` | Special | Either `user:all` or `admin:all` |
5982
+ | _validity | 86400 | Special | Validity in seconds from now. |
5964
5983
  | user_id | - | Mandatory | Identifier of user |
5965
5984
  | scope | `node.<access_key>:<_scope>`| Mandatory | API scope, e.g. `node.<access_key>:<node scope>` |
5966
5985
  | expires_at | `now+<_validity>` | Mandatory | Format: `%Y-%m-%dT%H:%M:%SZ` e.g. `2021-12-31T23:59:59Z` |
@@ -5968,12 +5987,10 @@ Bearer tokens can be generated using command `bearer_token`: it takes two argume
5968
5987
  | group_ids | - | Optional | List of group ids |
5969
5988
  | organization_id | - | Optional | Organization id |
5970
5989
  | watermarking_json_base64 | - | Optional | Watermarking information (not used) |
5971
- | _scope | `user:all` | Special | Either `user:all` or `admin:all` |
5972
- | _validity | 86400 | Special | Validity in seconds from now. |
5973
5990
 
5974
5991
  > **Note:** For convenience, `ascli` provides additional parameters `_scope` and `_validity`.
5975
5992
  > They are not part of the API and are removed from the final payload.
5976
- > They are used respectively to build the default value of `scope` and `expires_at`.
5993
+ > They are used respectively to easily set a value for `scope` and `expires_at`.
5977
5994
 
5978
5995
  #### Bearer token: Environment
5979
5996
 
@@ -6087,6 +6104,7 @@ access_key do my_ak_name show %id:1
6087
6104
  access_key do my_ak_name show /test_nd_ak3
6088
6105
  access_key do my_ak_name upload 'faux:///test_nd_ak3?100k' --default-ports=no
6089
6106
  access_key do self permission %id:root_id create @json:'{"access_type":"user","access_id":"666"}'
6107
+ access_key do self permission / show 1
6090
6108
  access_key do self show / --fields=id --output=root_id
6091
6109
  access_key list
6092
6110
  access_key set_bearer_key self @file:my_private_key
@@ -6303,6 +6321,7 @@ ascli config preset update f5boot --url=https://localhost/aspera/faspex --auth=b
6303
6321
 
6304
6322
  ```bash
6305
6323
  admin accounts list
6324
+ admin alternate_addresses list
6306
6325
  admin clean_deleted
6307
6326
  admin contacts list
6308
6327
  admin distribution_lists create @json:'{"name":"test4","contacts":[{"name":"john@example.com"}]}'
@@ -6312,7 +6331,12 @@ admin event app --query=@json:'{"max":20}'
6312
6331
  admin event web
6313
6332
  admin jobs list --query=@json:'{"job_type":"email","status":"failed"}' --fields=id,error_desc
6314
6333
  admin metadata_profiles list
6334
+ admin node browse %name:Local
6315
6335
  admin node list
6336
+ admin node shared_folders %name:Local list
6337
+ admin node shared_folders %name:Local show %name:Main
6338
+ admin node shared_folders %name:Local user %name:Main list
6339
+ admin node show %name:Local
6316
6340
  admin oauth_clients list --query=@json:'[["client_types[]","public"]]'
6317
6341
  admin registrations list
6318
6342
  admin saml_configs list
@@ -6331,6 +6355,8 @@ gateway --pid-file=pid_f5_fxgw https://localhost:12346/aspera/faspex &
6331
6355
  health
6332
6356
  invitation list
6333
6357
  invitations create @json:'{"email_address":"aspera.user1+u@gmail.com"}'
6358
+ packages browse f5_pack_id --query=@json:'{"recursive":true}'
6359
+ packages delete f5_pack_id
6334
6360
  packages list --box=my_shared_box_name
6335
6361
  packages list --box=my_workgroup --group-type=workgroups
6336
6362
  packages list --query=@json:'{"mailbox":"inbox","status":"completed"}'
@@ -6338,8 +6364,8 @@ packages receive --box=my_shared_box_name package_box_id1 --to-folder=.
6338
6364
  packages receive --box=my_workgroup --group-type=workgroups workgroup_package_id1 --to-folder=.
6339
6365
  packages receive ALL --once-only=yes --to-folder=.
6340
6366
  packages receive INIT --once-only=yes
6341
- packages receive f5_p31 --to-folder=. --ts=@json:'{"content_protection_password":"my_secret_here"}'
6342
- packages send --shared-folder=%name:my_shared_folder_name @json:'{"title":"test title","recipients":["my_email_internal"]}' my_shared_folder_file
6367
+ packages receive f5_pack_id --to-folder=. --ts=@json:'{"content_protection_password":"my_secret_here"}'
6368
+ packages send --shared-folder=%name:my_shared_folder_name @json:'{"title":"test title","recipients":["my_email_internal"]}' my_shared_folder_file --fields=id --display=data --output=test
6343
6369
  packages send --url=my_public_link_send_f5_user @json:'{"title":"test title"}' test_file.bin
6344
6370
  packages send --url=my_public_link_send_shared_box @json:'{"title":"test title"}' test_file.bin
6345
6371
  packages send @json:'{"title":"test title","recipients":["my_shared_box_name"],"metadata":{"Options":"Opt1","TextInput":"example text"}}' test_file.bin
@@ -6347,8 +6373,8 @@ packages send @json:'{"title":"test title","recipients":["my_workgroup"]}' test_
6347
6373
  packages send @json:'{"title":"test title","recipients":[{"name":"my_username"}]my_meta}' test_file.bin --ts=@json:'{"content_protection_password":"my_secret_here"}'
6348
6374
  packages show --box=my_shared_box_name package_box_id1
6349
6375
  packages show --box=my_workgroup --group-type=workgroups workgroup_package_id1
6350
- packages show f5_p31
6351
- packages status f5_p31
6376
+ packages show f5_pack_id
6377
+ packages status f5_pack_id
6352
6378
  postprocessing --pid-file=pid_f5_postproc @json:'{"url":"http://localhost:8088/asclihook","processing":{"script_folder":""}}' &
6353
6379
  shared browse %name:my_src
6354
6380
  shared list
@@ -7127,7 +7153,7 @@ ascli cos node info
7127
7153
  ascli cos node upload 'faux:///sample1G?1g'
7128
7154
  ```
7129
7155
 
7130
- > **Note:** A dummy file `sample1G` of size 2GB is generated using the `faux` PVCL (man `ascp` and section above), but you can, of course, send a real file by specifying a real file path instead.
7156
+ > **Note:** A dummy file `sample1G` of size 2GB is generated using the `faux` PVCL scheme (see previous section and `man ascp`), but you can, of course, send a real file by specifying a real file path instead.
7131
7157
 
7132
7158
  ### Cos sample commands
7133
7159
 
@@ -7217,13 +7243,17 @@ To display the value, use `asuserdata`:
7217
7243
 
7218
7244
  ```bash
7219
7245
  asuserdata -a | grep max_request_file_create_size_kb
7246
+ ```
7220
7247
 
7248
+ ```console
7221
7249
  max_request_file_create_size_kb: "1024"
7250
+ ```
7222
7251
 
7252
+ ```bash
7223
7253
  asconfigurator -x "server; max_request_file_create_size_kb,16384"
7224
7254
  ```
7225
7255
 
7226
- If you use a value different than 16777216, then specify it using option `max_size`.
7256
+ If you use a value different than `16777216`, then specify it using option `max_size`.
7227
7257
 
7228
7258
  > **Note:** The HSTS parameter (`max_request_file_create_size_kb`) is in **kiloBytes** while the generator parameter is in **Bytes** (factor of 1024).
7229
7259
 
@@ -7231,12 +7261,12 @@ If you use a value different than 16777216, then specify it using option `max_si
7231
7261
 
7232
7262
  `ascli` requires the following external tools available in the `PATH`:
7233
7263
 
7234
- - **ImageMagick** : `convert` `composite`
7264
+ - **ImageMagick** v7+: `magick` `composite`
7235
7265
  - **OptiPNG** : `optipng`
7236
7266
  - **FFmpeg** : `ffmpeg` `ffprobe`
7237
- - **Libreoffice** : `libreoffice`
7267
+ - **Libreoffice** : `unoconv`
7238
7268
 
7239
- Here shown on Redhat/CentOS.
7269
+ Here shown on Redhat/Rocky Linux.
7240
7270
 
7241
7271
  Other OSes should work as well, but are note tested.
7242
7272
 
@@ -7270,9 +7300,9 @@ curl -s https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.ta
7270
7300
 
7271
7301
  If you don't want to have preview for office documents or if it is too complex you can skip office document preview generation by using option: `--skip-types=office`
7272
7302
 
7273
- The generation of preview in based on the use of `unoconv` and `libreoffice`
7303
+ The generation of preview in based on the use of Libreoffice's `unoconv`.
7274
7304
 
7275
- - CentOS 8
7305
+ - RHEL 8/Rocky Linux 8+
7276
7306
 
7277
7307
  ```bash
7278
7308
  dnf install unoconv