aspera-cli 4.14.0 → 4.15.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 (90) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +54 -3
  4. data/CONTRIBUTING.md +7 -7
  5. data/README.md +1457 -880
  6. data/bin/ascli +18 -9
  7. data/bin/asession +12 -14
  8. data/examples/proxy.pac +1 -1
  9. data/lib/aspera/aoc.rb +198 -127
  10. data/lib/aspera/ascmd.rb +24 -14
  11. data/lib/aspera/cli/basic_auth_plugin.rb +9 -6
  12. data/lib/aspera/cli/error.rb +17 -0
  13. data/lib/aspera/cli/extended_value.rb +47 -12
  14. data/lib/aspera/cli/formatter.rb +260 -171
  15. data/lib/aspera/cli/hints.rb +80 -0
  16. data/lib/aspera/cli/main.rb +101 -147
  17. data/lib/aspera/cli/manager.rb +160 -124
  18. data/lib/aspera/cli/plugin.rb +70 -59
  19. data/lib/aspera/cli/plugins/alee.rb +0 -1
  20. data/lib/aspera/cli/plugins/aoc.rb +239 -273
  21. data/lib/aspera/cli/plugins/ats.rb +8 -5
  22. data/lib/aspera/cli/plugins/bss.rb +2 -2
  23. data/lib/aspera/cli/plugins/config.rb +516 -375
  24. data/lib/aspera/cli/plugins/console.rb +40 -0
  25. data/lib/aspera/cli/plugins/cos.rb +4 -5
  26. data/lib/aspera/cli/plugins/faspex.rb +99 -84
  27. data/lib/aspera/cli/plugins/faspex5.rb +179 -148
  28. data/lib/aspera/cli/plugins/node.rb +219 -153
  29. data/lib/aspera/cli/plugins/orchestrator.rb +52 -17
  30. data/lib/aspera/cli/plugins/preview.rb +46 -32
  31. data/lib/aspera/cli/plugins/server.rb +57 -17
  32. data/lib/aspera/cli/plugins/shares.rb +34 -12
  33. data/lib/aspera/cli/sync_actions.rb +68 -0
  34. data/lib/aspera/cli/transfer_agent.rb +45 -55
  35. data/lib/aspera/cli/transfer_progress.rb +74 -0
  36. data/lib/aspera/cli/version.rb +1 -1
  37. data/lib/aspera/colors.rb +3 -1
  38. data/lib/aspera/command_line_builder.rb +14 -11
  39. data/lib/aspera/cos_node.rb +3 -2
  40. data/lib/aspera/environment.rb +17 -6
  41. data/lib/aspera/fasp/agent_aspera.rb +126 -0
  42. data/lib/aspera/fasp/agent_base.rb +31 -77
  43. data/lib/aspera/fasp/agent_connect.rb +21 -22
  44. data/lib/aspera/fasp/agent_direct.rb +88 -102
  45. data/lib/aspera/fasp/agent_httpgw.rb +196 -192
  46. data/lib/aspera/fasp/agent_node.rb +41 -34
  47. data/lib/aspera/fasp/agent_trsdk.rb +75 -34
  48. data/lib/aspera/fasp/error_info.rb +2 -2
  49. data/lib/aspera/fasp/faux_file.rb +52 -0
  50. data/lib/aspera/fasp/installation.rb +43 -184
  51. data/lib/aspera/fasp/management.rb +244 -0
  52. data/lib/aspera/fasp/parameters.rb +59 -26
  53. data/lib/aspera/fasp/parameters.yaml +75 -8
  54. data/lib/aspera/fasp/products.rb +162 -0
  55. data/lib/aspera/fasp/transfer_spec.rb +1 -1
  56. data/lib/aspera/fasp/uri.rb +4 -4
  57. data/lib/aspera/faspex_gw.rb +2 -2
  58. data/lib/aspera/faspex_postproc.rb +2 -2
  59. data/lib/aspera/hash_ext.rb +2 -2
  60. data/lib/aspera/json_rpc.rb +49 -0
  61. data/lib/aspera/line_logger.rb +23 -0
  62. data/lib/aspera/log.rb +57 -16
  63. data/lib/aspera/node.rb +97 -14
  64. data/lib/aspera/oauth.rb +36 -18
  65. data/lib/aspera/open_application.rb +4 -4
  66. data/lib/aspera/persistency_folder.rb +2 -2
  67. data/lib/aspera/preview/file_types.rb +4 -2
  68. data/lib/aspera/preview/generator.rb +22 -35
  69. data/lib/aspera/preview/options.rb +2 -0
  70. data/lib/aspera/preview/terminal.rb +24 -13
  71. data/lib/aspera/preview/utils.rb +19 -26
  72. data/lib/aspera/rest.rb +103 -72
  73. data/lib/aspera/rest_call_error.rb +1 -1
  74. data/lib/aspera/rest_error_analyzer.rb +15 -14
  75. data/lib/aspera/rest_errors_aspera.rb +37 -34
  76. data/lib/aspera/secret_hider.rb +14 -16
  77. data/lib/aspera/ssh.rb +4 -1
  78. data/lib/aspera/sync.rb +128 -122
  79. data/lib/aspera/temp_file_manager.rb +10 -3
  80. data/lib/aspera/web_auth.rb +10 -7
  81. data/lib/aspera/web_server_simple.rb +9 -4
  82. data.tar.gz.sig +0 -0
  83. metadata +33 -15
  84. metadata.gz.sig +0 -0
  85. data/lib/aspera/cli/listener/line_dump.rb +0 -19
  86. data/lib/aspera/cli/listener/logger.rb +0 -22
  87. data/lib/aspera/cli/listener/progress.rb +0 -50
  88. data/lib/aspera/cli/listener/progress_multi.rb +0 -84
  89. data/lib/aspera/cli/plugins/sync.rb +0 -44
  90. data/lib/aspera/fasp/listener.rb +0 -13
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98bd3e1d6ade2f96ff4ddbf4ae825e1926f56990b6552ff22aab6007546fd32e
4
- data.tar.gz: edab64f8c8a7108a4614f4f5b7494ddb73611587c54bf6a4c270385303d9d53b
3
+ metadata.gz: 007b7653b79d11d35c5741fe091d6118204b25521a3ad30082e2c1970124d91a
4
+ data.tar.gz: a7b763b7f993f414d0ec78b79eeb1607dcb1618697bb4360f05fb39ad159443c
5
5
  SHA512:
6
- metadata.gz: 26c290fd4cd0d6d2a564b8e8dacaab4f584a0548c096999870b43dc755128faf23db58105ccbc16f424aac5384e79a51d07eada5e7a82e66b3d76abec69ad8e7
7
- data.tar.gz: 1ee2fe285c913db6851ac97198d73c7159972c35c3c30e2b57342d226d0387e4940df19b7bd737769bfac3b2ab74fec3813d41a1f70c2d39e5202c20c35b8369
6
+ metadata.gz: 176ba1755a5e545b2886b311e7be53c33983c3a8eaf75846801d83dd9dfc498bfd5e44cf0f65c51267374309e1f4ffa2657a793fc659622a9a9ba41d94b71344
7
+ data.tar.gz: 1e0f022813ba1b6e7cdb90a632811193689ac69175d9eac65a0589128c5d12181f283beb1a973109d9d1768ab770535be77aa9c37220363c8d0090b9139c8196
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,12 +1,63 @@
1
1
  # Changes (Release notes)
2
2
 
3
+ * 4.15.0
4
+
5
+ * General: removed many redundant options, more consistency between plugins, see below in "break".
6
+ * New Features:
7
+ * global: added resolution hints for well known issues.
8
+ * global: extended value expression `@extend:` finds and replace extended values in a string (e.g. for JSON)
9
+ * global: option `fields` now supports `RegExp`
10
+ * global: option `home` to set the main folder for configuration and cache
11
+ * global: option `ignore_certificate` to specify specific URLs instead of global option `insecure`
12
+ * global: option `cert_stores` to specify alternate certificate stores
13
+ * global: uniform progress bar for any type of transfer.
14
+ * global: add extended value types: `re` and `yaml`
15
+ * global: option `pid_file` to write tool's PID during execution, deleted on exit
16
+ * config: command `remote_certificate` to retrieve a remote certificate
17
+ * config: added logger level `trace1` and `trace2`
18
+ * wizard: can detect multiple applications at the same address or url.
19
+ * aoc: wizard accepts public links
20
+ * aoc: support private links, and possibility to list shared folder with workspace `@json:null`
21
+ * orchestrator: error analysis for workflow start
22
+ * httpgw: now supports pseudo file for testing: e.g. `faux:///testfile?1k`
23
+ * node: added command `transfer sessions` to list all sessions of all transfers
24
+ * node: generate bearer token from private key and user information
25
+ * node: access node API with bearer token as credentials
26
+ * agent: `direct` allows ignoring certificate for wss using http options
27
+ * preview: command `show` generates a preview and displays it in terminal
28
+ * Issues Fixed:
29
+ * Ruby warning: `net/protocol.rb:68: warning: already initialized constant Net::ProtocRetryError` solved by removing dependency on `net-smtp` from gem spec (already in base ruby).
30
+ * Breaking Changes:
31
+ * global: commands `detect` and `wizard` takes now a mandatory argument: address or url instead of option `url`.
32
+ * global: renamed option `pkeypath` to `key_path`
33
+ * global: renamed option `notif_to` to `notify_to` and `notif_template` to `notify_template`
34
+ * global: removed extended value handler `incps`, as it is never used (use `extend` instead).
35
+ * global: option `fields`: `+prop` is replaced with: `DEF,prop` and `-field` is replaced with: `DEF,-field`, and whole list is evaluated.
36
+ * global: replaced option `progress` with option `progressbar` (bool)
37
+ * global: removed option `rest_debug` and `-r`, replaced with `--log-level=trace2`
38
+ * global: the default file name for private key when using wizard is change from `aspera_aoc_key` to `my_private_key.pem`
39
+ * faspex5: removed option and `auth` type `link`: simply provide the public link as `url`
40
+ * faspex: remote source selection now uses percent selector instead of parameter `id` or `name`
41
+ * faspex: option `source_name` is now `remote_source`
42
+ * aoc: selection by name uses percent selector instead of option or parameter `name`
43
+ * aoc: removed option `link`: use `url` instead
44
+ * aoc: in command `short_link`, place type before command, e.g. `short_link private create /blah`
45
+ * aoc: replaced option `operation` with mandatory positional parameter for command `files transfer`
46
+ * aoc: replaced option `from_folder` with mandatory positional parameter for command `files transfer`
47
+ * orchestrator: workflow start takes arguments as optional positional extended value instead of option `param`
48
+ * node: `find` command now takes an optional `@ruby:` extended value instead of option `query` with prefix: `exec:`
49
+ * sync: plugin `sync` is removed: actions are available through `server` and `node` plugins.
50
+ * sync: replaced option `sync_session` with optional positional parameter.
51
+ * preview: command `scan`, `events` and `trevents` replaced option `query` with optional positional parameter for filter (like `find`).
52
+ * trsdk: parameters `host` and `port` in option `transfer_info` are replaced with parameter `url`, like `grpc://host:port`
53
+
3
54
  * 4.14.0
4
55
 
5
56
  * new: server: option `passphrase` for simpler command line (#114)
6
57
  * new: percent selector for entities identifier
7
58
  * new: faspex5: shared inbox and workgroup membership management
8
59
  * new: faspex5: invite external user to shared inbox
9
- * new: faspex5: package list and receive from workgroups and shared inboxes
60
+ * new: faspex5: package list and receive from workgroup and shared inbox
10
61
  * new: config: Command `ascp info` shows default transfer spec.
11
62
  * new: httpgw: synchronous and asynchronous upload modes
12
63
  * new: node: command `bandwidth_average` to get average bandwidth of node, per periods
@@ -93,7 +144,7 @@
93
144
  * new: improved documentation on faspex and aoc package send
94
145
  * fix: `node do` command fixed
95
146
  * fix: improved secret hiding from logs
96
- * change(break): removed rarely commands nodeadmin, configuration, userdata, ctl from plugin `server`
147
+ * change(break): removed rarely commands `nodeadmin`, `configuration`, `userdata`, `ctl` from plugin `server`
97
148
  as well as option `cmd_prefix`
98
149
  * change: `ascli` runs as user `cliuser` instead of `root` in container
99
150
  * change: default access right for config folder is now user only, including private keys
@@ -214,7 +265,7 @@
214
265
  * new: check new gem version periodically
215
266
  * new: the --fields= option, support -_field_name_ to remove a field from default fields
216
267
  * new: Oauth tokens are discarded automatically after 30 minutes (useful for COS delegated refresh tokens)
217
- * new: mimemagic is now optional, needs manual install for `preview`, compatible with version 0.4.x
268
+ * new: `mimemagic` is now optional, needs manual install for `preview`, compatible with version 0.4.x
218
269
  * new: AoC a password can be provided for a public link
219
270
  * new: `conf doc` take an optional parameter to go to a section
220
271
  * new: initial support for Faspex 5 Beta 1
data/CONTRIBUTING.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Contributing
2
- <!-- cspell:words passin GEMVERS -->
2
+ <!-- cspell:words passin -->
3
3
  ## Reporting Issues and Vulnerabilities
4
4
 
5
5
  You can report issues at <https://github.com/IBM/aspera-cli/issues>
@@ -32,7 +32,7 @@ If you want to contribute, please:
32
32
  - Add tests for it. This is important so I don't break it in a future version unintentionally.
33
33
  - **Bonus Points** go out to anyone who also updates `CHANGELOG.md` :)
34
34
  - Send a pull request on GitHub.
35
- - run Rubocop to comply for coding standards
35
+ - run `rubocop` to comply for coding standards
36
36
 
37
37
  ## Architecture
38
38
 
@@ -192,11 +192,11 @@ make dpush
192
192
 
193
193
  ### Specific version image build
194
194
 
195
- It is possible to build a specific version by setting envvar `GEMVERS` and `make` with option `-e`:
195
+ It is possible to build a specific version by setting envvar `GEM_VERSION` and `make` with option `-e`:
196
196
 
197
197
  ```bash
198
- GEMVERS=4.11.0 make -e docker
199
- GEMVERS=4.11.0 make -e dpush
198
+ GEM_VERSION=4.11.0 make -e docker
199
+ GEM_VERSION=4.11.0 make -e dpush
200
200
  ```
201
201
 
202
202
  ### Development version image build
@@ -219,7 +219,7 @@ make single
219
219
 
220
220
  This is based on tool `rubyc` (gem `ruby-packer`): either place the executable in folder `tmp`, or the architecture-specific version will be automatically downloaded.
221
221
 
222
- > **Note:** Perl Findbin is needed, install on Linux with:
222
+ > **Note:** Perl `Findbin` is needed, install on Linux with:
223
223
 
224
224
  ```bash
225
225
  sudo dnf install -y perl perl-FindBin perl-IPC-Cmd
@@ -231,4 +231,4 @@ sudo dnf install -y perl perl-FindBin perl-IPC-Cmd
231
231
  - <https://github.com/rest-client/rest-client>
232
232
  - <https://github.com/oauth-xx/oauth2>
233
233
  - use gem Thor <http://whatisthor.com/> (or other standard Ruby CLI manager)
234
- - Package a single-file executable for various architectures with <https://github.com/pmq20/ruby-packer> (rubyc)
234
+ - Package a single-file executable for various architectures with <https://github.com/pmq20/ruby-packer> (`rubyc`)