aspera-cli 4.1.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 902a8a3e2d46ccbb5cd86a29019008d42bca1ec21b4085b3dc9b689a48f5047e
4
- data.tar.gz: 4e43c371b4867c4c0c3fd7466153c3e98e300befd45d9670a9a7e5b06739dcff
3
+ metadata.gz: 1cc7508185a5c551f30a30e54a0cfa2d0ac7931a1bbb565bc7b15e98cca31479
4
+ data.tar.gz: ca9aae212a8411ddcfa4d1db4aa842fb273bf56fe247490b31037dcb0d628c94
5
5
  SHA512:
6
- metadata.gz: 1f24130c6088bf6ba0abdd9d2b66557b867a8507975d014301e87ad12524b9625070346de6fcbf87ae4d3f32e2b0f5666b34657d7ab88fdcd331fd59632e936d
7
- data.tar.gz: 79c2ada8efbd5cec946cefb0b7e7363b4323c619783ed65862c0963d07ac1e76a4bea51c0d426f7eaf4b336731f49c07e8b6e74f6830ae0e872954521ac1af8e
6
+ metadata.gz: 929bcc3dee9158eb60c810796ed8dc88cfd52d187abb47cb6733adb09971e67849ce1b0bf5cff7daf3dc1f7af327490b574ab8351c94435c6ac83f0674423cd8
7
+ data.tar.gz: 5c3cba44333dfca675a3cc3b0b77bb6d16654f322b580c936c911551dc85bcc55b16b01649faac2a5ae1f0805b3a2a83315c648ea6c1fb7987c569dc431887b4
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  [comment1]: # (Do not edit this README.md, edit docs/README.erb.md, for details, read docs/README.md)
2
2
  # `ascli` : Command Line Interface for IBM Aspera products
3
3
 
4
- Version : 4.1.0
4
+ Version : 4.2.0
5
5
 
6
6
  _Laurent/2016-2021_
7
7
 
@@ -81,7 +81,7 @@ Once the gem is installed, `ascli` shall be accessible:
81
81
 
82
82
  ```
83
83
  $ ascli --version
84
- 4.1.0
84
+ 4.2.0
85
85
  ```
86
86
 
87
87
  ## First use
@@ -90,9 +90,10 @@ Once installation is completed, you can proceed to the first use with a demo ser
90
90
 
91
91
  If you want to test with Aspera on Cloud, jump to section: [Wizard](#aocwizard)
92
92
 
93
- If you want to test with Aspera demo transfer server, a default configuration is created on first use:
93
+ To test with Aspera demo transfer server, setup the environment and then test:
94
94
 
95
95
  ```
96
+ $ ascli config initdemo
96
97
  $ ascli server browse /
97
98
  :............:...........:......:........:...........................:.......................:
98
99
  : zmode : zuid : zgid : size : mtime : name :
@@ -112,7 +113,7 @@ If you want to use `ascli` with another server, and in order to make further cal
112
113
  * download a file
113
114
 
114
115
  ```
115
- $ ascli config id myserver update --url=ssh://demo.asperasoft.com:33001 --username=asperaweb --password=demoaspera
116
+ $ ascli config id myserver update --url=ssh://demo.asperasoft.com:33001 --username=asperaweb --password=_demo_pass_
116
117
  updated: myserver
117
118
  $ ascli config id default set server myserver
118
119
  updated: default→server to myserver
@@ -146,18 +147,22 @@ Then, follow the section relative to the product you want to interact with ( Asp
146
147
 
147
148
  # <a name="installation"></a>Installation
148
149
 
149
- It is possible to install *either* as a docker container or step by step on the native host:
150
+ It is possible to install *either* directly on the host operating system (Linux, Windows, Macos) or as a docker container.
151
+
152
+ The direct installation is recommended and consists in installing:
150
153
 
151
154
  * [Ruby](#ruby) version >= > 2.4
152
155
  * [aspera-cli](#the_gem)
153
156
  * [Aspera SDK (ascp)](#fasp_prot)
154
157
 
155
- The following sections provide information on the installation.
158
+ The following sections provide information on the various installation methods.
156
159
 
157
160
  An internet connection is required for the installation. If you dont have internet for the installation, refer to section [Installation without internet access](#offline_install).
158
161
 
159
162
  ## Docker container
160
163
 
164
+ Use this method only if you know what you do, else use the standard recommended method as described here above.
165
+
161
166
  This method installs a docker image that contains: Ruby, ascli and the FASP sdk.
162
167
 
163
168
  Ensure that you have Docker installed.
@@ -181,11 +186,12 @@ $ ./ascli install
181
186
 
182
187
  Start using it !
183
188
 
184
- Note that the tool is run in the container.
189
+ Note that the tool is run in the container, so transfers are also executed in the container, not calling host.
185
190
 
186
- The wrapping script maps the container folder `/usr/src/app/config` to configuration folder `$HOME/.aspera/ascli`.
191
+ The wrapping script maps the container folder `/usr/src/app/config` to configuration folder `$HOME/.aspera/ascli` on host.
187
192
 
188
193
  To transfer to/from the native host, you will need to map a volume in docker or use the config folder (already mapped).
194
+ To add local storage as a volume edit the script: ascli and add a `--volume` stanza.
189
195
 
190
196
  ## <a name="ruby"></a>Ruby
191
197
 
@@ -195,7 +201,7 @@ A ruby interpreter is required to run the tool or to use the gem and tool.
195
201
 
196
202
  Ruby minimum version: > 2.4. Ruby version 3 is also supported.
197
203
 
198
- *Any type of Ruby installation can be used* : rpm, yum, dnf, rvm, brew, windows installer, ... .
204
+ *Ruby can be installed using any method* : rpm, yum, dnf, rvm, brew, windows installer, ... .
199
205
 
200
206
  Refer to the following sections for a proposed method for specific operating systems.
201
207
 
@@ -773,7 +779,7 @@ $ ascli config id <option preset> set|delete|show|initialize|update
773
779
  The command `update` allows the easy creation of [option preset](#lprt) by simply providing the options in their command line format, e.g. :
774
780
 
775
781
  ```
776
- $ ascli config id demo_server update --url=ssh://demo.asperasoft.com:33001 --username=asperaweb --password=demoaspera --ts=@json:'{"precalculate_job_size":true}'
782
+ $ ascli config id demo_server update --url=ssh://demo.asperasoft.com:33001 --username=asperaweb --password=_demo_pass_ --ts=@json:'{"precalculate_job_size":true}'
777
783
  ```
778
784
 
779
785
  * This creates a [option preset](#lprt) `demo_server` with all provided options.
@@ -781,13 +787,13 @@ $ ascli config id demo_server update --url=ssh://demo.asperasoft.com:33001 --use
781
787
  The command `set` allows setting individual options in a [option preset](#lprt).
782
788
 
783
789
  ```
784
- $ ascli config id demo_server set password demoaspera
790
+ $ ascli config id demo_server set password _demo_pass_
785
791
  ```
786
792
 
787
793
  The command `initialize`, like `update` allows to set several parameters at once, but it deletes an existing configuration instead of updating it, and expects a _[Structured Value](#native)_.
788
794
 
789
795
  ```
790
- $ ascli config id demo_server initialize @json:'{"url":"ssh://demo.asperasoft.com:33001","username":"asperaweb","password":"demoaspera","ts":{"precalculate_job_size":true}}'
796
+ $ ascli config id demo_server initialize @json:'{"url":"ssh://demo.asperasoft.com:33001","username":"asperaweb","password":"_demo_pass_","ts":{"precalculate_job_size":true}}'
791
797
  ```
792
798
 
793
799
  A good practice is to not manually edit the configuration file and use modification commands instead.
@@ -824,11 +830,19 @@ Note that special plugin name: `config` can be associated with a preset that is
824
830
  Operations on this preset are done using regular `config` operations:
825
831
 
826
832
  ```
827
- $ ascli config id default set _plugin_name_ _defauklt_preset_for_plugin_
833
+ $ ascli config id default set _plugin_name_ _default_preset_for_plugin_
828
834
  $ ascli config id default get _plugin_name_
829
- "_defauklt_preset_for_plugin_"
835
+ "_default_preset_for_plugin_"
830
836
  ```
831
837
 
838
+ ### <a name="lprtdef"></a>Special Plugin: config
839
+
840
+ Plugin `config` (not to be confused with Option preset config) is used to configure `ascli` but it also contains global options.
841
+
842
+ When `ascli` starts, it lookjs for the `default` Option preset and if there is a value for `config`, if so, it loads the option values for any plugin used.
843
+
844
+ If no global default is set by the user, the tool will use `global_common_defaults` when setting global parameters (e.g. `conf ascp use`)
845
+
832
846
  ### Format of file
833
847
 
834
848
  The configuration file is a hash in a YAML file. Example:
@@ -844,7 +858,7 @@ cli_default:
844
858
  demo_server:
845
859
  url: ssh://demo.asperasoft.com:33001
846
860
  username: asperaweb
847
- password: demoaspera
861
+ password: _demo_pass_
848
862
  ```
849
863
 
850
864
  We can see here:
@@ -913,7 +927,6 @@ A [option preset](#lprt) value can be removed with `unset`:
913
927
  $ ascli config id cli_default unset interactive
914
928
  ```
915
929
 
916
-
917
930
  ### Examples
918
931
 
919
932
  For Faspex, Shares, Node (including ATS, Aspera Transfer Service), Console,
@@ -1033,21 +1046,42 @@ The `config` plugin also allows specification for the use of a local FASP client
1033
1046
 
1034
1047
  ```
1035
1048
  $ ascli config ascp show
1036
- /Users/laurent/Applications/Aspera Connect.app/Contents/Resources/ascp
1049
+ /Users/laurent/.aspera/ascli/sdk/ascp
1050
+ $ ascli config ascp info
1051
+ +--------------------+-----------------------------------------------------------+
1052
+ | key | value |
1053
+ +--------------------+-----------------------------------------------------------+
1054
+ | ascp | /Users/laurent/.aspera/ascli/sdk/ascp |
1055
+ ...
1037
1056
  ```
1038
1057
 
1039
1058
  ### Selection of local `ascp`
1040
1059
 
1060
+ By default, `ascli` uses any found local product with ascp, including SDK.
1061
+
1041
1062
  To temporarily use an alternate ascp path use option `ascp_path` (`--ascp-path=`)
1042
1063
 
1043
- To permanently use another ascp:
1064
+ For a permanent change, the command `config ascp use` sets the same parameter for the global default.
1065
+
1066
+ Using a POSIX shell:
1044
1067
 
1045
1068
  ```
1046
1069
  $ ascli config ascp use '/Users/laurent/Applications/Aspera CLI/bin/ascp'
1047
- saved to default global preset /Users/laurent/Applications/Aspera CLI/bin/ascp
1070
+ ascp version: 4.0.0.182279
1071
+ Updated: global_common_defaults: ascp_path <- /Users/laurent/Applications/Aspera CLI/bin/ascp
1072
+ Saved to default global preset global_common_defaults
1048
1073
  ```
1049
1074
 
1050
- This sets up a global default.
1075
+ Windows:
1076
+
1077
+ ```
1078
+ $ ascli config ascp use C:\Users\admin\.aspera\ascli\sdk\ascp.exe
1079
+ ascp version: 4.0.0.182279
1080
+ Updated: global_common_defaults: ascp_path <- C:\Users\admin\.aspera\ascli\sdk\ascp.exe
1081
+ Saved to default global preset global_common_defaults
1082
+ ```
1083
+
1084
+ If the path has spaces, read section: [Shell and Command line parsing](#parsing).
1051
1085
 
1052
1086
  ### List locally installed Aspera Transfer products
1053
1087
 
@@ -1134,7 +1168,7 @@ will effectively push files to the related server from the agent node.
1134
1168
 
1135
1169
  ### <a name="direct"></a>Direct (local ascp using FASPManager API)
1136
1170
 
1137
- By default the CLI will use a local FASP protocol, equivalent to specifying `--transfer=direct`.
1171
+ By default `ascli` uses a local ascp, equivalent to specifying `--transfer=direct`.
1138
1172
  `ascli` will detect locally installed Aspera products.
1139
1173
  Refer to section [FASP](#client).
1140
1174
 
@@ -1144,17 +1178,33 @@ To specify a FASP proxy (only supported with the `direct` agent), set the approp
1144
1178
  * `EX_http_proxy_url` (proxy for legacy http fallback)
1145
1179
  * `EX_ascp_args`
1146
1180
 
1147
- The `transfer-info` optionally provides the following auto resume parameters:
1181
+ The `transfer-info` accepts the following optional parameters:
1182
+
1183
+ <table>
1184
+ <tr><th>Name</th><th>Type</th><th>Default</th><th>Feature</th><th>Description</th></tr>
1185
+ <tr><td>spawn_timeout_sec</td><td>Float</td><td>3</td><td>Multi session</td><td>Verification time that ascp is running</td></tr>
1186
+ <tr><td>spawn_delay_sec</td><td>Float</td><td>2</td><td>Multi session</td><td>Delay between startup of sessions</td></tr>
1187
+ <tr><td>wss</td><td>Bool</td><td>false</td><td>Web Socket Session</td><td>Enable use of web socket session in case it is available</td></tr>
1188
+ <tr><td>resume</td><td>Hash</td><td>nil</td><td>Resumer parameters</td><td>See below</td></tr>
1189
+ </table>
1190
+
1191
+ Resume parameters:
1148
1192
 
1149
1193
  <table>
1150
- <tr><th>Name</th><th>Default</th><th>Feature</th><th>Description</th></tr>
1151
- <tr><td>iter_max</td>. <td>7</td><td>Resume</td><td>Max number of retry on error</td></tr>
1152
- <tr><td>sleep_initial</td><td>2</td><td>Resume</td><td>First Sleep before retry</td></tr>
1153
- <tr><td>sleep_factor</td> <td>2</td><td>Resume</td><td>Multiplier of Sleep</td></tr>
1154
- <tr><td>sleep_max</td>. <td>60</td><td>Resume</td><td>Maximum sleep</td></tr>
1155
- <tr><td>wss</td> <td>false</td><td>Web Socket Session</td><td>Enable use of web socket session in case it is available</td></tr>
1194
+ <tr><th>Name</th><th>Type</th><th>Default</th><th>Feature</th><th>Description</th></tr>
1195
+ <tr><td>iter_max</td><td>int</td><td>7</td><td>Resume</td><td>Max number of retry on error</td></tr>
1196
+ <tr><td>sleep_initial</td><td>int</td><td>2</td><td>Resume</td><td>First Sleep before retry</td></tr>
1197
+ <tr><td>sleep_factor</td><td>int</td><td>2</td><td>Resume</td><td>Multiplier of Sleep</td></tr>
1198
+ <tr><td>sleep_max</td><td>int</td><td>60</td><td>Resume</td><td>Maximum sleep</td></tr>
1156
1199
  </table>
1157
1200
 
1201
+ Examples:
1202
+
1203
+ ```
1204
+ $ ascli ... --transfer-info=@json:'{"wss":true,"resume":{"iter_max":10}}'
1205
+ $ ascli ... --transfer-info=@json:'{"spawn_delay_sec":2.5}'
1206
+ ```
1207
+
1158
1208
  ### IBM Aspera Connect Client GUI
1159
1209
 
1160
1210
  By specifying option: `--transfer=connect`, `ascli` will start transfers
@@ -1204,7 +1254,7 @@ is described in a _transfer-spec_ (Transfer Specification), such as:
1204
1254
 
1205
1255
  `ascli` builds a default _transfer-spec_ internally, so it is not necessary to provide additional parameters on the command line for this transfer.
1206
1256
 
1207
- If needed, it is possible to modify or add any of the supported _transfer-spec_ parameter using the `ts` option. The `ts` option accepts a [Structured Value](#native) containing one or several _transfer-spec_ parameters.
1257
+ If needed, it is possible to modify or add any of the supported _transfer-spec_ parameter using the `ts` option. The `ts` option accepts a [Structured Value](#native) containing one or several _transfer-spec_ parameters. Multiple `ts` options on command line are cummulative.
1208
1258
 
1209
1259
  It is possible to specify ascp options when the `transfer` option is set to `direct` using the special [_transfer-spec_](#transferspec) parameter: `EX_ascp_args`. Example: `--ts=@json:'{"EX_ascp_args":["-l","100m"]}'`. This is espacially useful for ascp command line parameters not supported yet in the transfer spec.
1210
1260
 
@@ -1456,6 +1506,8 @@ A non complete list of commands used in unit tests:
1456
1506
  ```
1457
1507
  ascli
1458
1508
  ascli -h
1509
+ ascli aoc -N remind --username=my_aoc_user_email
1510
+ ascli aoc -N servers
1459
1511
  ascli aoc admin analytics transfers --query=@json:'{"status":"completed","direction":"receive"}'
1460
1512
  ascli aoc admin ats access_key --id=akibmcloud --secret=somesecret node browse /
1461
1513
  ascli aoc admin ats access_key --id=akibmcloud delete
@@ -1494,7 +1546,6 @@ ascli aoc admin resource node --name=AOC_NODE1_NAME --secret=AOC_NODE1_SECRET v4
1494
1546
  ascli aoc admin resource node --name=AOC_NODE1_NAME --secret=AOC_NODE1_SECRET v4 mkdir /folder1
1495
1547
  ascli aoc admin resource workspace list
1496
1548
  ascli aoc admin resource workspace_membership list --fields=ALL --query=@json:'{"page":1,"per_page":50,"embed":"member","inherited":false,"workspace_id":11363,"sort":"name"}'
1497
- ascli aoc apiinfo
1498
1549
  ascli aoc automation workflow --id="my_wf_id" action create --value=@json:'{"name":"toto"}' | tee action.info
1499
1550
  ascli aoc automation workflow create --value=@json:'{"name":"test_workflow"}'
1500
1551
  ascli aoc automation workflow delete --id="my_wf_id"
@@ -1531,7 +1582,6 @@ ascli aoc packages send --value=@json:'{"name":"Important files delivery","recip
1531
1582
  ascli aoc packages send --workspace="my_aoc_shbx_ws" --value=@json:'{"name":"Important files delivery","recipients":["my_aoc_shbx_name"]}' testfile.bin
1532
1583
  ascli aoc packages send -N --value=@json:'{"name":"Important files delivery"}' testfile.bin --link=my_aoc_publink_send_aoc_user --password=my_aoc_publink_send_use_pass
1533
1584
  ascli aoc packages send -N --value=@json:'{"name":"Important files delivery"}' testfile.bin --link=my_aoc_publink_send_shd_inbox
1534
- ascli aoc servers
1535
1585
  ascli aoc user info modify @json:'{"name":"dummy change"}'
1536
1586
  ascli aoc user info show
1537
1587
  ascli aoc workspace
@@ -1550,8 +1600,8 @@ ascli ats cluster list
1550
1600
  ascli ats cluster show --cloud=aws --region=eu-west-1
1551
1601
  ascli ats cluster show --id=1f412ae7-869a-445c-9c05-02ad16813be2
1552
1602
  ascli conf flush_tokens
1553
- ascli conf wiz --url=https://my_aoc_org.ibmaspera.com --config-file=SAMPLE_CONFIG_FILE --pkeypath='' --username=my_aoc_user --test-mode=yes
1554
- ascli conf wiz --url=https://my_aoc_org.ibmaspera.com --config-file=SAMPLE_CONFIG_FILE --pkeypath='' --username=my_aoc_user --test-mode=yes --use-generic-client=yes
1603
+ ascli conf wiz --url=https://my_aoc_org.ibmaspera.com --config-file=SAMPLE_CONFIG_FILE --pkeypath='' --username=my_aoc_user_email --test-mode=yes
1604
+ ascli conf wiz --url=https://my_aoc_org.ibmaspera.com --config-file=SAMPLE_CONFIG_FILE --pkeypath='' --username=my_aoc_user_email --test-mode=yes --use-generic-client=yes
1555
1605
  ascli config ascp connect id 'Aspera Connect for Windows' info
1556
1606
  ascli config ascp connect id 'Aspera Connect for Windows' links id 'Windows Installer' download --to-folder=.
1557
1607
  ascli config ascp connect id 'Aspera Connect for Windows' links list
@@ -1570,7 +1620,7 @@ ascli config plugins
1570
1620
  ascli config proxy_check --fpac=file:///examples/proxy.pac https://eudemo.asperademo.com
1571
1621
  ascli console transfer current list
1572
1622
  ascli console transfer smart list
1573
- ascli console transfer smart sub 112 @json:'{"source":{"paths":["10MB.1"]},"source_type":"user_selected"}'
1623
+ ascli console transfer smart sub my_job_id @json:'{"source":{"paths":["my_file_name"]},"source_type":"user_selected"}'
1574
1624
  ascli cos -N --bucket=my_icos_bucket_name --endpoint=my_icos_bucket_endpoint --apikey=my_icos_bucket_apikey --crn=my_icos_resource_instance_id node info
1575
1625
  ascli cos -N --bucket=my_icos_bucket_name --region=my_icos_bucket_region --service-credentials=@json:@file:service_creds.json node info
1576
1626
  ascli cos node access_key --id=self show
@@ -1592,7 +1642,7 @@ ascli faspex source name "Server Files" node br /
1592
1642
  ascli faspex5 node list --value=@json:'{"type":"received","subtype":"mypackages"}'
1593
1643
  ascli faspex5 package list --value=@json:'{"mailbox":"inbox","state":["released"]}'
1594
1644
  ascli faspex5 package receive --id="my_package_id" --to-folder=.
1595
- ascli faspex5 package send --value=@json:'{"title":"test title","recipients":["${f5_user}"]}' testfile.bin
1645
+ ascli faspex5 package send --value=@json:'{"title":"test title","recipients":[{"name":"${f5_user}"}]}' testfile.bin
1596
1646
  ascli node -N -Ptst_node_preview access_key create --value=@json:'{"id":"aoc_1","storage":{"type":"local","path":"/"}}'
1597
1647
  ascli node -N -Ptst_node_preview access_key delete --id=aoc_1
1598
1648
  ascli node async --id=1 bandwidth
@@ -1648,7 +1698,7 @@ ascli server delete NEW_SERVER_FOLDER
1648
1698
  ascli server delete folder_1/target_hot
1649
1699
  ascli server delete folder_1/to.delete
1650
1700
  ascli server df
1651
- ascli server download NEW_SERVER_FOLDER/testfile.bin --to-folder=.
1701
+ ascli server download NEW_SERVER_FOLDER/testfile.bin --to-folder=. --transfer-info=@json:'{"wss":false,"resume":{"iter_max":1}}'
1652
1702
  ascli server download NEW_SERVER_FOLDER/testfile.bin --to-folder=folder_1 --transfer=node
1653
1703
  ascli server du /
1654
1704
  ascli server health transfer --to-folder=folder_1 --format=nagios
@@ -1661,7 +1711,7 @@ ascli server upload --sources=@ts --ts=@json:'{"paths":[{"source":"testfile.bin"
1661
1711
  ascli server upload --src-type=pair --sources=@json:'["testfile.bin","NEW_SERVER_FOLDER/othername"]'
1662
1712
  ascli server upload --src-type=pair testfile.bin NEW_SERVER_FOLDER/othername
1663
1713
  ascli server upload --to-folder=folder_1/target_hot --lock-port=12345 --ts=@json:'{"EX_ascp_args":["--remove-after-transfer","--remove-empty-directories","--exclude-newer-than=-8","--src-base","source_hot"]}' source_hot
1664
- ascli server upload testfile.bin --to-folder=NEW_SERVER_FOLDER
1714
+ ascli server upload testfile.bin --to-folder=NEW_SERVER_FOLDER --ts=@json:'{"multi_session":3,"multi_session_threshold":1,"resume_policy":"none","target_rate_kbps":1500}' --transfer-info=@json:'{"spawn_delay_sec":2.5}' --progress=multi
1665
1715
  ascli shares admin share list
1666
1716
  ascli shares repository browse /
1667
1717
  ascli shares repository delete /SHARES_UPLOAD/testfile.bin
@@ -1684,7 +1734,7 @@ ascli sync start --parameters=@json:'{"sessions":[{"name":"test","reset":true,"r
1684
1734
  ```
1685
1735
  $ ascli -h
1686
1736
  NAME
1687
- ascli -- a command line tool for Aspera Applications (v4.1.0)
1737
+ ascli -- a command line tool for Aspera Applications (v4.2.0)
1688
1738
 
1689
1739
  SYNOPSIS
1690
1740
  ascli COMMANDS [OPTIONS] [ARGS]
@@ -1735,7 +1785,7 @@ OPTIONS: global
1735
1785
  --once-only=ENUM process only new items (some commands): yes, no
1736
1786
 
1737
1787
  COMMAND: config
1738
- SUBCOMMANDS: gem_path genkey plugins flush_tokens list overview open echo id documentation wizard export_to_cli detect coffee ascp email_test smtp_settings proxy_check folder file check_update
1788
+ SUBCOMMANDS: gem_path genkey plugins flush_tokens list overview open echo id documentation wizard export_to_cli detect coffee ascp email_test smtp_settings proxy_check folder file check_update initdemo
1739
1789
  OPTIONS:
1740
1790
  --value=VALUE extended value for create, update, list filter
1741
1791
  --property=VALUE name of property to set
@@ -1751,8 +1801,8 @@ OPTIONS:
1751
1801
  --fpac=VALUE proxy auto configuration URL
1752
1802
  -P, --presetVALUE load the named option preset from current config file
1753
1803
  --default=VALUE set as default configuration for specified plugin
1754
- --secret=VALUE access key secret for node
1755
- --secrets=VALUE access key secret for node
1804
+ --secret=VALUE default secret
1805
+ --secrets=VALUE secret repository (Hash)
1756
1806
  --sdk-url=VALUE URL to get SDK
1757
1807
  --sdk-folder=VALUE SDK folder location
1758
1808
  --test-mode=ENUM skip user validation in wizard mode: yes, no
@@ -1918,24 +1968,24 @@ OPTIONS:
1918
1968
 
1919
1969
 
1920
1970
  COMMAND: aoc
1921
- SUBCOMMANDS: apiinfo bearer_token organization tier_restrictions user workspace packages files gateway admin automation servers
1971
+ SUBCOMMANDS: reminder bearer_token organization tier_restrictions user workspace packages files gateway admin automation servers
1922
1972
  OPTIONS:
1923
1973
  --url=VALUE URL of application, e.g. https://org.asperafiles.com
1924
1974
  --username=VALUE username to log in
1925
1975
  --password=VALUE user's password
1926
- --auth=ENUM type of Oauth authentication: body_userpass, header_userpass, web, jwt, url_token, ibm_apikey
1976
+ --auth=ENUM OAuth type of authentication: body_userpass, header_userpass, web, jwt, url_token, ibm_apikey
1927
1977
  --operation=ENUM client operation for transfers: push, pull
1928
- --client-id=VALUE API client identifier in application
1929
- --client-secret=VALUE API client passcode
1930
- --redirect-uri=VALUE API client redirect URI
1931
- --private-key=VALUE RSA private key PEM value for JWT (prefix file path with @val:@file:)
1978
+ --client-id=VALUE OAuth API client identifier in application
1979
+ --client-secret=VALUE OAuth API client passcode
1980
+ --redirect-uri=VALUE OAuth API client redirect URI
1981
+ --private-key=VALUE OAuth JWT RSA private key PEM value (prefix file path with @val:@file:)
1932
1982
  --workspace=VALUE name of workspace
1933
1983
  --name=VALUE resource name
1934
1984
  --path=VALUE file or folder path
1935
1985
  --link=VALUE public link to shared resource
1936
1986
  --new-user-option=VALUE new user creation option
1937
1987
  --from-folder=VALUE share to share source folder
1938
- --scope=VALUE scope for AoC API calls
1988
+ --scope=VALUE OAuth scope for AoC API calls
1939
1989
  --notify=VALUE notify users that file was received
1940
1990
  --bulk=ENUM bulk operation: yes, no
1941
1991
  --default-ports=ENUM use standard FASP ports or get from node api: yes, no
@@ -2534,10 +2584,10 @@ $ ascli aoc packages recv --id=ALL --once-only=yes --lock-port=12345
2534
2584
  * `--once-only=yes` keeps memory of any downloaded package in persistency files located in the configuration folder.
2535
2585
  * `--lock-port=12345` ensures that only one instance is started at the same time, to avoid collisions
2536
2586
 
2537
- Typically, one would regularly execute this command on a regular basis, using the method oif your choice:
2587
+ Typically, one would regularly execute this command on a regular basis, using the method of your choice:
2538
2588
 
2539
- * Windows scheduler
2540
- * cron
2589
+ * Windows: [Task Scheduler](https://docs.microsoft.com/en-us/windows/win32/taskschd/task-scheduler-start-page)
2590
+ * Linux/Unix: [cron](https://www.man7.org/linux/man-pages/man5/crontab.5.html)
2541
2591
  * etc...
2542
2592
 
2543
2593
  ## Download Files
@@ -2757,7 +2807,7 @@ This can also be set as default using a preset
2757
2807
  One can test the "server" application using the well known demo server:
2758
2808
 
2759
2809
  ```
2760
- $ ascli config id aspera_demo_server update --url=ssh://demo.asperasoft.com:33001 --username=asperaweb --password=demoaspera
2810
+ $ ascli config id aspera_demo_server update --url=ssh://demo.asperasoft.com:33001 --username=asperaweb --password=_demo_pass_
2761
2811
  $ ascli config id default set server aspera_demo_server
2762
2812
  $ ascli server browse /aspera-test-dir-large
2763
2813
  $ ascli server download /aspera-test-dir-large/200MB
@@ -3061,7 +3111,7 @@ to start from ma configuration file, using `ascli` standard options.
3061
3111
 
3062
3112
  # Plugin: Preview
3063
3113
 
3064
- The `preview` generates "previews" of graphical files, i.e. thumbnails (office, images, video) and video previews on an Aspera HSTS for use primarily in the Aspera on Cloud application.
3114
+ The `preview` generates "previews" of graphical files, i.e. thumbnails (office, images, video) and video previews on storage for use primarily in the Aspera on Cloud application.
3065
3115
  This is based on the "node API" of Aspera HSTS when using Access Keys only inside it's "storage root".
3066
3116
  Several parameters can be used to tune several aspects:
3067
3117
 
@@ -3190,9 +3240,10 @@ $ ascli config id previewconf update --url=https://localhost:9092 --username=my_
3190
3240
  $ ascli config id default set preview previewconf
3191
3241
  ```
3192
3242
 
3193
- Here we assume that Office file generation is disabled, else remove the option. `lock_port` prevents concurrent execution of generation when using a scheduler.
3243
+ Here we assume that Office file generation is disabled, else remove this option.
3244
+ `lock_port` prevents concurrent execution of generation when using a scheduler.
3194
3245
 
3195
- Once can check if the access key is well configured using:
3246
+ One can check if the access key is well configured using:
3196
3247
 
3197
3248
  ```
3198
3249
  $ ascli -Ppreviewconf node browse /
@@ -3278,6 +3329,14 @@ $ ascli preview scan --skip-folders=@json:'["/not_here"]'
3278
3329
 
3279
3330
  The option `folder_reset_cache` forces the node service to refresh folder contents using various methods.
3280
3331
 
3332
+ When scanning the option `value` has the same behaviour as for the `node find` command.
3333
+
3334
+ For instance to filter out files beginning with `._` do:
3335
+
3336
+ ```
3337
+ ... --value='exec:!f["name"].start_with?("._") or f["name"].eql?(".DS_Store")'
3338
+ ```
3339
+
3281
3340
  ## Preview File types
3282
3341
 
3283
3342
  Two types of preview can be generated:
@@ -3415,7 +3474,7 @@ Note that in addition, many "EX_" [_transfer-spec_](#transferspec) parameters ar
3415
3474
  ## Simple session
3416
3475
 
3417
3476
  ```
3418
- MY_TSPEC='{"remote_host":"demo.asperasoft.com","remote_user":"asperaweb","ssh_port":33001,"remote_password":"demoaspera","direction":"receive","destination_root":"./test.dir","paths":[{"source":"/aspera-test-dir-tiny/200KB.1"}],"resume_level":"none"}'
3477
+ MY_TSPEC='{"remote_host":"demo.asperasoft.com","remote_user":"asperaweb","ssh_port":33001,"remote_password":"_demo_pass_","direction":"receive","destination_root":"./test.dir","paths":[{"source":"/aspera-test-dir-tiny/200KB.1"}],"resume_level":"none"}'
3419
3478
 
3420
3479
  echo "${MY_TSPEC}"|asession
3421
3480
  ```
@@ -3428,7 +3487,7 @@ This is particularly useful for a persistent session ( with the [_transfer-spec_
3428
3487
 
3429
3488
  ```
3430
3489
  $ asession
3431
- {"remote_host":"demo.asperasoft.com","ssh_port":33001,"remote_user":"asperaweb","remote_password":"demoaspera","direction":"receive","destination_root":".","keepalive":true,"resume_level":"none"}
3490
+ {"remote_host":"demo.asperasoft.com","ssh_port":33001,"remote_user":"asperaweb","remote_password":"_demo_pass_","direction":"receive","destination_root":".","keepalive":true,"resume_level":"none"}
3432
3491
  {"type":"START","source":"/aspera-test-dir-tiny/200KB.2"}
3433
3492
  {"type":"DONE"}
3434
3493
  ```
@@ -3597,7 +3656,20 @@ So, it evolved into `ascli`:
3597
3656
 
3598
3657
  # Changes (Release notes)
3599
3658
 
3600
- * 4.x
3659
+ * 4.2.0
3660
+
3661
+ * new: command `aoc remind` to receive organization membership by email
3662
+ * new: in `preview` option `value` to filter out on file name
3663
+ * new: `initdemo` to initialize for demo server
3664
+ * new: `direct` transfer agent options: `spawn_timeout_sec` and `spawn_delay_sec`
3665
+ * fix: on Windows `conf ascp use` expects ascp.exe
3666
+ * fix: (break) multi_session_threshold is Integer, not String
3667
+ * fix: `conf ascp install` renames sdk folder if it already exists (leftover shared lib may make fail)
3668
+ * fix: removed replace_illegal_chars from default aspera.conf causing "Error creating illegal char conversion table"
3669
+ * change: (break) `aoc apiinfo` is removed, use `aoc servers` to provide the list of cloud systems
3670
+ * change: (break) parameters for resume in `transfer-info` for `direct` are now in sub-key `"resume"`
3671
+
3672
+ * 4.1.0
3601
3673
 
3602
3674
  * fix: remove keys from transfer spec and command line when not needed
3603
3675
  * fix: default to create_dir:true so that sending single file to a folder does not rename file if folder does not exist
@@ -3968,11 +4040,15 @@ Breaking change:
3968
4040
 
3969
4041
  * Breaking change: "files" application renamed to "aspera" (for "Aspera on Cloud"). "repository" renamed to "files". Default is automatically reset, e.g. in config files and change key "files" to "aspera" in [option preset](#lprt) "default".
3970
4042
 
3971
- # BUGS
4043
+ # BUGS, FEATURES, CONTRIBUTION
4044
+
4045
+ For issues or feature requests use the Github repository and issues.
3972
4046
 
3973
- * This is best effort code without official support, dont expect full capabilities. This code is not supported by IBM/Aspera. You can contact the author for bugs or features.
4047
+ You can also contribute to this open source project.
3974
4048
 
3975
- ## only one value for any option
4049
+ One can also create one's own command nplugin.
4050
+
4051
+ ## Only one value for any option
3976
4052
 
3977
4053
  Some commands and sub commands may ask for the same option name.
3978
4054
  Currently, since option definition is position independant (last one wins), it is not possible
@@ -3986,7 +4062,8 @@ This happens typically for the `node` sub command, e.g. identify the node by nam
3986
4062
 
3987
4063
  ## ED255519 key not supported
3988
4064
 
3989
- ED255519 keys are deactivated since version 0.9.24 so this type of key will just be ignored.
4065
+ ED25519 keys are deactivated since version 0.9.24 so this type of key will just be ignored.
4066
+
3990
4067
  Without this deactivation, if such key was present the following error was generated:
3991
4068
 
3992
4069
  ```
@@ -3996,7 +4073,17 @@ OpenSSH keys only supported if ED25519 is available
3996
4073
  Which meant that you do not have ruby support for ED25519 SSH keys.
3997
4074
  You may either install the suggested Gems, or remove your ed25519 key from your `.ssh` folder to solve the issue.
3998
4075
 
3999
- # TODO
4076
+ ## Error "Remote host is not who we expected"
4077
+
4078
+ `ascp` version 4.x changed the algorithm used to check the SSH server certificate. To ignore the certificate (SSH fingerprint) add option on client side:
4079
+
4080
+ ```
4081
+ --ts=@json:'{"sshfp":null}'
4082
+ ```
4083
+
4084
+ Refer to ES-1944 in release notes of 4.1 and to [HSTS admin manual section "Configuring Transfer Server Authentication With a Host-Key Fingerprint"](https://www.ibm.com/docs/en/ahts/4.2?topic=upgrades-configuring-ssh-server): if you have access to server side, basically disable other SSH host keys than RSA.
4085
+
4086
+ ## Miscelaneous
4000
4087
 
4001
4088
  * remove rest and oauth classes and use ruby standard gems:
4002
4089
 
@@ -4012,9 +4099,3 @@ You may either install the suggested Gems, or remove your ed25519 key from your
4012
4099
  * Going through proxy: use env var http_proxy and https_proxy, no_proxy
4013
4100
 
4014
4101
  * easier use with https://github.com/pmq20/ruby-packer
4015
-
4016
- # Contribution
4017
-
4018
- Send comments !
4019
-
4020
- Create your own plugin !