aspera-cli 4.14.0 → 4.16.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/BUGS.md +29 -3
- data/CHANGELOG.md +300 -185
- data/CONTRIBUTING.md +74 -23
- data/README.md +2346 -1619
- data/bin/ascli +16 -25
- data/bin/asession +15 -15
- data/examples/dascli +2 -2
- data/examples/proxy.pac +1 -1
- data/lib/aspera/aoc.rb +216 -150
- data/lib/aspera/ascmd.rb +25 -18
- data/lib/aspera/assert.rb +45 -0
- data/lib/aspera/cli/basic_auth_plugin.rb +9 -6
- data/lib/aspera/cli/error.rb +17 -0
- data/lib/aspera/cli/extended_value.rb +51 -16
- data/lib/aspera/cli/formatter.rb +276 -174
- data/lib/aspera/cli/hints.rb +81 -0
- data/lib/aspera/cli/main.rb +114 -147
- data/lib/aspera/cli/manager.rb +181 -136
- data/lib/aspera/cli/plugin.rb +82 -64
- data/lib/aspera/cli/plugins/alee.rb +0 -1
- data/lib/aspera/cli/plugins/aoc.rb +327 -331
- data/lib/aspera/cli/plugins/ats.rb +12 -8
- data/lib/aspera/cli/plugins/bss.rb +2 -2
- data/lib/aspera/cli/plugins/config.rb +575 -439
- data/lib/aspera/cli/plugins/console.rb +40 -0
- data/lib/aspera/cli/plugins/cos.rb +4 -5
- data/lib/aspera/cli/plugins/faspex.rb +111 -92
- data/lib/aspera/cli/plugins/faspex5.rb +245 -182
- data/lib/aspera/cli/plugins/node.rb +239 -160
- data/lib/aspera/cli/plugins/orchestrator.rb +56 -19
- data/lib/aspera/cli/plugins/preview.rb +54 -38
- data/lib/aspera/cli/plugins/server.rb +63 -20
- data/lib/aspera/cli/plugins/shares.rb +64 -38
- data/lib/aspera/cli/sync_actions.rb +68 -0
- data/lib/aspera/cli/transfer_agent.rb +64 -67
- data/lib/aspera/cli/transfer_progress.rb +73 -0
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/colors.rb +3 -1
- data/lib/aspera/command_line_builder.rb +27 -22
- data/lib/aspera/cos_node.rb +6 -4
- data/lib/aspera/coverage.rb +22 -0
- data/lib/aspera/data_repository.rb +33 -2
- data/lib/aspera/environment.rb +21 -8
- data/lib/aspera/fasp/agent_alpha.rb +116 -0
- data/lib/aspera/fasp/agent_base.rb +40 -76
- data/lib/aspera/fasp/agent_connect.rb +21 -22
- data/lib/aspera/fasp/agent_direct.rb +169 -179
- data/lib/aspera/fasp/agent_httpgw.rb +200 -195
- data/lib/aspera/fasp/agent_node.rb +43 -35
- data/lib/aspera/fasp/agent_trsdk.rb +124 -41
- data/lib/aspera/fasp/error_info.rb +2 -2
- data/lib/aspera/fasp/faux_file.rb +52 -0
- data/lib/aspera/fasp/installation.rb +89 -191
- data/lib/aspera/fasp/management.rb +249 -0
- data/lib/aspera/fasp/parameters.rb +86 -47
- data/lib/aspera/fasp/parameters.yaml +75 -8
- data/lib/aspera/fasp/products.rb +162 -0
- data/lib/aspera/fasp/resume_policy.rb +7 -5
- data/lib/aspera/fasp/sync.rb +273 -0
- data/lib/aspera/fasp/transfer_spec.rb +10 -8
- data/lib/aspera/fasp/uri.rb +6 -6
- data/lib/aspera/faspex_gw.rb +11 -8
- data/lib/aspera/faspex_postproc.rb +8 -7
- data/lib/aspera/hash_ext.rb +2 -2
- data/lib/aspera/id_generator.rb +3 -1
- data/lib/aspera/json_rpc.rb +51 -0
- data/lib/aspera/keychain/encrypted_hash.rb +46 -11
- data/lib/aspera/keychain/macos_security.rb +15 -13
- data/lib/aspera/line_logger.rb +23 -0
- data/lib/aspera/log.rb +61 -19
- data/lib/aspera/nagios.rb +7 -2
- data/lib/aspera/node.rb +105 -21
- data/lib/aspera/node_simulator.rb +214 -0
- data/lib/aspera/oauth.rb +57 -36
- data/lib/aspera/open_application.rb +4 -4
- data/lib/aspera/persistency_action_once.rb +13 -14
- data/lib/aspera/persistency_folder.rb +5 -4
- data/lib/aspera/preview/file_types.rb +56 -268
- data/lib/aspera/preview/generator.rb +28 -39
- data/lib/aspera/preview/options.rb +2 -0
- data/lib/aspera/preview/terminal.rb +36 -16
- data/lib/aspera/preview/utils.rb +23 -29
- data/lib/aspera/proxy_auto_config.rb +6 -3
- data/lib/aspera/rest.rb +127 -80
- data/lib/aspera/rest_call_error.rb +1 -1
- data/lib/aspera/rest_error_analyzer.rb +16 -14
- data/lib/aspera/rest_errors_aspera.rb +39 -34
- data/lib/aspera/secret_hider.rb +18 -17
- data/lib/aspera/ssh.rb +10 -5
- data/lib/aspera/temp_file_manager.rb +11 -4
- data/lib/aspera/web_auth.rb +10 -7
- data/lib/aspera/web_server_simple.rb +11 -5
- data.tar.gz.sig +0 -0
- metadata +108 -39
- metadata.gz.sig +0 -0
- data/lib/aspera/cli/listener/line_dump.rb +0 -19
- data/lib/aspera/cli/listener/logger.rb +0 -22
- data/lib/aspera/cli/listener/progress.rb +0 -50
- data/lib/aspera/cli/listener/progress_multi.rb +0 -84
- data/lib/aspera/cli/plugins/sync.rb +0 -44
- data/lib/aspera/fasp/listener.rb +0 -13
- data/lib/aspera/sync.rb +0 -213
data/bin/ascli
CHANGED
|
@@ -1,29 +1,20 @@
|
|
|
1
|
-
#!/usr/bin/env ruby
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
SimpleCov.at_exit do
|
|
17
|
-
original_file_descriptor = $stdout
|
|
18
|
-
$stdout.reopen(File.join(GEM_ROOT, 'simplecov.log'))
|
|
19
|
-
SimpleCov.result.format!
|
|
20
|
-
$stdout.reopen(original_file_descriptor)
|
|
4
|
+
Encoding.default_internal = Encoding::UTF_8
|
|
5
|
+
Encoding.default_external = Encoding::UTF_8
|
|
6
|
+
|
|
7
|
+
begin
|
|
8
|
+
gem_lib_folder = File.join(File.dirname(File.dirname(File.realpath(__FILE__))), 'lib')
|
|
9
|
+
Kernel.load(File.join(gem_lib_folder, 'aspera/coverage.rb'))
|
|
10
|
+
begin
|
|
11
|
+
require 'aspera/cli/main'
|
|
12
|
+
rescue LoadError
|
|
13
|
+
# if in development, add path toward gem
|
|
14
|
+
$LOAD_PATH.unshift(gem_lib_folder)
|
|
15
|
+
require 'aspera/cli/main'
|
|
21
16
|
end
|
|
22
|
-
|
|
17
|
+
require 'aspera/environment'
|
|
18
|
+
Aspera::Environment.fix_home
|
|
19
|
+
Aspera::Cli::Main.new(ARGV).process_command_line
|
|
23
20
|
end
|
|
24
|
-
# if in development, add path to gem
|
|
25
|
-
$LOAD_PATH.unshift(File.join(GEM_ROOT, 'lib'))
|
|
26
|
-
require 'aspera/cli/main'
|
|
27
|
-
require 'aspera/environment'
|
|
28
|
-
Aspera::Environment.fix_home
|
|
29
|
-
Aspera::Cli::Main.new(ARGV).process_command_line
|
data/bin/asession
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
# frozen_string_literal: true
|
|
3
3
|
|
|
4
4
|
# Laurent Martin/2017
|
|
5
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__)
|
|
5
|
+
$LOAD_PATH.unshift("#{File.dirname(__FILE__)}/../lib")
|
|
6
6
|
require 'aspera/fasp/agent_direct'
|
|
7
|
-
require 'aspera/cli/listener/line_dump'
|
|
8
7
|
require 'aspera/cli/extended_value'
|
|
9
8
|
require 'aspera/log'
|
|
10
9
|
require 'json'
|
|
11
|
-
# extended transfer spec parameter
|
|
12
|
-
|
|
10
|
+
# extended transfer spec parameter (only used in asession)
|
|
11
|
+
# Change log level
|
|
12
|
+
TS_LOG_LEVEL = 'EX_loglevel'
|
|
13
13
|
# by default go to /tmp/username.filelist
|
|
14
|
-
|
|
14
|
+
TS_TMP_FILE_LIST_FOLDER = 'EX_file_list_folder'
|
|
15
15
|
|
|
16
16
|
SAMPLE_DEMO = '"remote_host":"demo.asperasoft.com","remote_user":"asperaweb","ssh_port":33001,"remote_password":"demoaspera"'
|
|
17
17
|
SAMPLE_DEMO2 = '"direction":"receive","destination_root":"./test.dir"'
|
|
@@ -34,7 +34,7 @@ def assert_usage(assertion, error_message)
|
|
|
34
34
|
$stderr.puts(' {"type":"START","source":"/aspera-test-dir-tiny/200KB.2"}')
|
|
35
35
|
$stderr.puts(' {"type":"START","source":"xx","destination":"yy"}')
|
|
36
36
|
$stderr.puts(' {"type":"DONE"}')
|
|
37
|
-
$stderr.puts(%Q(Note: debug information can be placed on STDERR, using the "#{
|
|
37
|
+
$stderr.puts(%Q(Note: debug information can be placed on STDERR, using the "#{TS_LOG_LEVEL}" parameter in transfer spec (debug=0)))
|
|
38
38
|
$stderr.puts('EXAMPLES')
|
|
39
39
|
$stderr.puts(%Q( asession @json:'{#{SAMPLE_DEMO},#{SAMPLE_DEMO2},"paths":[{"source":"/aspera-test-dir-tiny/200KB.1"}]}'))
|
|
40
40
|
$stderr.puts(%q( echo '{"remote_host":...}'|asession @json:@stdin))
|
|
@@ -60,27 +60,27 @@ end
|
|
|
60
60
|
# ensure right type
|
|
61
61
|
assert_usage(transfer_spec.is_a?(Hash), "the value must be a hash table#{parameter_source_err_msg}")
|
|
62
62
|
# additional debug capability
|
|
63
|
-
if transfer_spec.key?(
|
|
64
|
-
Aspera::Log.instance.level = transfer_spec[
|
|
65
|
-
transfer_spec.delete(
|
|
63
|
+
if transfer_spec.key?(TS_LOG_LEVEL)
|
|
64
|
+
Aspera::Log.instance.level = transfer_spec[TS_LOG_LEVEL]
|
|
65
|
+
transfer_spec.delete(TS_LOG_LEVEL)
|
|
66
66
|
end
|
|
67
67
|
# possibly override temp folder
|
|
68
|
-
if transfer_spec.key?(
|
|
69
|
-
Aspera::Fasp::Parameters.file_list_folder = transfer_spec[
|
|
70
|
-
transfer_spec.delete(
|
|
68
|
+
if transfer_spec.key?(TS_TMP_FILE_LIST_FOLDER)
|
|
69
|
+
Aspera::Fasp::Parameters.file_list_folder = transfer_spec[TS_TMP_FILE_LIST_FOLDER]
|
|
70
|
+
transfer_spec.delete(TS_TMP_FILE_LIST_FOLDER)
|
|
71
71
|
end
|
|
72
72
|
# get local agent (ascp), disable ascp output on stdout to not mix with JSON events
|
|
73
73
|
client = Aspera::Fasp::AgentDirect.new({quiet: true})
|
|
74
|
-
# display JSON instead of legacy Lines
|
|
75
|
-
client.add_listener(Aspera::Cli::Listener::LineDump.new)
|
|
76
74
|
# start transfer (asynchronous)
|
|
77
75
|
job_id = client.start_transfer(transfer_spec)
|
|
78
76
|
# async commands
|
|
79
77
|
Thread.new do
|
|
78
|
+
# we assume here a single session
|
|
79
|
+
session_id = client.sessions_by_job(job_id).first
|
|
80
80
|
begin # rubocop:disable Style/RedundantBegin
|
|
81
81
|
loop do
|
|
82
82
|
data = JSON.parse($stdin.gets)
|
|
83
|
-
client.send_command(
|
|
83
|
+
client.send_command(session_id, data)
|
|
84
84
|
end
|
|
85
85
|
rescue
|
|
86
86
|
Process.exit(1)
|
data/examples/dascli
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
: "${imgtag=$image:$version}"
|
|
8
8
|
# set env var `docker` to podman, to use podman
|
|
9
9
|
: "${docker:=docker}"
|
|
10
|
-
# set env var docker_args to add options to docker run (transform var into array) # spellcheck disable=SC2086
|
|
10
|
+
# set env var `docker_args` to add options to docker run (then, transform this var into array) # spellcheck disable=SC2086
|
|
11
11
|
read -a add_dock_args <<< $docker_args
|
|
12
12
|
# set env var ASCLI_HOME to set the config folder on host
|
|
13
13
|
: "${ASCLI_HOME:=$HOME/.aspera/ascli}"
|
|
@@ -24,7 +24,7 @@ exec $docker run \
|
|
|
24
24
|
--interactive \
|
|
25
25
|
--user root \
|
|
26
26
|
--env ASCLI_HOME="$ascli_home_container" \
|
|
27
|
-
--volume "$ASCLI_HOME:$ascli_home_container" \
|
|
27
|
+
--volume "$ASCLI_HOME:$ascli_home_container:z" \
|
|
28
28
|
"${add_dock_args[@]}" \
|
|
29
29
|
"$imgtag" \
|
|
30
30
|
"$@"
|
data/examples/proxy.pac
CHANGED