aspera-cli 4.14.0 → 4.16.0
Sign up to get free protection for your applications and to get access to all the features.
- 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