aspera-cli 4.13.0 → 4.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +28 -5
  4. data/CONTRIBUTING.md +17 -1
  5. data/README.md +782 -401
  6. data/examples/dascli +1 -1
  7. data/examples/rubyc +24 -0
  8. data/lib/aspera/aoc.rb +21 -32
  9. data/lib/aspera/ascmd.rb +1 -0
  10. data/lib/aspera/cli/basic_auth_plugin.rb +6 -6
  11. data/lib/aspera/cli/formatter.rb +17 -25
  12. data/lib/aspera/cli/main.rb +21 -27
  13. data/lib/aspera/cli/manager.rb +128 -114
  14. data/lib/aspera/cli/plugin.rb +87 -38
  15. data/lib/aspera/cli/plugins/alee.rb +2 -2
  16. data/lib/aspera/cli/plugins/aoc.rb +216 -102
  17. data/lib/aspera/cli/plugins/ats.rb +16 -18
  18. data/lib/aspera/cli/plugins/bss.rb +3 -3
  19. data/lib/aspera/cli/plugins/config.rb +177 -367
  20. data/lib/aspera/cli/plugins/console.rb +4 -6
  21. data/lib/aspera/cli/plugins/cos.rb +12 -13
  22. data/lib/aspera/cli/plugins/faspex.rb +17 -18
  23. data/lib/aspera/cli/plugins/faspex5.rb +332 -216
  24. data/lib/aspera/cli/plugins/node.rb +171 -142
  25. data/lib/aspera/cli/plugins/orchestrator.rb +15 -18
  26. data/lib/aspera/cli/plugins/preview.rb +38 -60
  27. data/lib/aspera/cli/plugins/server.rb +22 -15
  28. data/lib/aspera/cli/plugins/shares.rb +24 -33
  29. data/lib/aspera/cli/plugins/sync.rb +3 -3
  30. data/lib/aspera/cli/transfer_agent.rb +29 -26
  31. data/lib/aspera/cli/version.rb +1 -1
  32. data/lib/aspera/colors.rb +9 -7
  33. data/lib/aspera/data/6 +0 -0
  34. data/lib/aspera/environment.rb +7 -3
  35. data/lib/aspera/fasp/agent_connect.rb +5 -0
  36. data/lib/aspera/fasp/agent_direct.rb +5 -5
  37. data/lib/aspera/fasp/agent_httpgw.rb +138 -60
  38. data/lib/aspera/fasp/agent_trsdk.rb +2 -0
  39. data/lib/aspera/fasp/error_info.rb +2 -0
  40. data/lib/aspera/fasp/installation.rb +18 -19
  41. data/lib/aspera/fasp/parameters.rb +18 -17
  42. data/lib/aspera/fasp/parameters.yaml +2 -1
  43. data/lib/aspera/fasp/resume_policy.rb +3 -3
  44. data/lib/aspera/fasp/transfer_spec.rb +6 -5
  45. data/lib/aspera/fasp/uri.rb +23 -21
  46. data/lib/aspera/faspex_postproc.rb +1 -1
  47. data/lib/aspera/hash_ext.rb +12 -2
  48. data/lib/aspera/keychain/macos_security.rb +13 -13
  49. data/lib/aspera/log.rb +1 -0
  50. data/lib/aspera/node.rb +62 -80
  51. data/lib/aspera/oauth.rb +1 -1
  52. data/lib/aspera/persistency_action_once.rb +1 -1
  53. data/lib/aspera/preview/terminal.rb +61 -15
  54. data/lib/aspera/preview/utils.rb +3 -3
  55. data/lib/aspera/proxy_auto_config.js +2 -2
  56. data/lib/aspera/rest.rb +37 -0
  57. data/lib/aspera/secret_hider.rb +6 -1
  58. data/lib/aspera/ssh.rb +1 -1
  59. data/lib/aspera/sync.rb +2 -0
  60. data.tar.gz.sig +0 -0
  61. metadata +3 -4
  62. metadata.gz.sig +0 -0
  63. data/docs/test_env.conf +0 -186
  64. data/lib/aspera/data/7 +0 -0
@@ -12,6 +12,7 @@ module Aspera
12
12
  # keys in hash that contain secrets
13
13
  KEY_SECRETS = %w[password secret passphrase _key apikey crn token].freeze
14
14
  ALL_SECRETS = [ASCP_ENV_SECRETS, KEY_SECRETS].flatten.freeze
15
+ FALSE_POSITIVES = [/^access_key$/].freeze
15
16
  # regex that define named captures :begin and :end
16
17
  REGEX_LOG_REPLACES = [
17
18
  # CLI manager get/set options
@@ -48,7 +49,11 @@ module Aspera
48
49
  def secret?(keyword, value)
49
50
  keyword = keyword.to_s if keyword.is_a?(Symbol)
50
51
  # only Strings can be secrets, not booleans, or hash, arrays
51
- keyword.is_a?(String) && ALL_SECRETS.any?{|kw|keyword.include?(kw)} && value.is_a?(String)
52
+ return false unless keyword.is_a?(String) && value.is_a?(String)
53
+ # those are not secrets
54
+ return false if FALSE_POSITIVES.any?{|f|f.match?(keyword)}
55
+ # check if keyword (name) contains an element that designate it as a secret
56
+ ALL_SECRETS.any?{|kw|keyword.include?(kw)}
52
57
  end
53
58
 
54
59
  def deep_remove_secret(obj, is_name_value: false)
data/lib/aspera/ssh.rb CHANGED
@@ -44,7 +44,7 @@ module Aspera
44
44
  end
45
45
  raise error_message
46
46
  end
47
- # send command to SSH channel (execute)
47
+ # send command to SSH channel (execute) cspell: disable-next-line
48
48
  channel.send('cexe'.reverse, cmd){|_ch, _success|channel.send_data(input) unless input.nil?}
49
49
  end
50
50
  # wait for channel to finish (command exit)
data/lib/aspera/sync.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # cspell:words logdir
4
+
3
5
  require 'aspera/command_line_builder'
4
6
  require 'aspera/fasp/installation'
5
7
  require 'json'
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aspera-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.13.0
4
+ version: 4.14.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laurent Martin
@@ -37,7 +37,7 @@ cert_chain:
37
37
  eTf9kxhVM40wGQOECVNA8UsEEZHD48eF+csUYZtAJOF5oxTI8UyV9T/o6CgO0c9/
38
38
  Gzz+Qm5ULOUcPiJLjSpaiTrkiIVYiDGnqNSr6R1Hb1c=
39
39
  -----END CERTIFICATE-----
40
- date: 2023-06-28 00:00:00.000000000 Z
40
+ date: 2023-09-22 00:00:00.000000000 Z
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: execjs
@@ -362,9 +362,9 @@ files:
362
362
  - README.md
363
363
  - bin/ascli
364
364
  - bin/asession
365
- - docs/test_env.conf
366
365
  - examples/dascli
367
366
  - examples/proxy.pac
367
+ - examples/rubyc
368
368
  - lib/aspera/aoc.rb
369
369
  - lib/aspera/ascmd.rb
370
370
  - lib/aspera/ats_api.rb
@@ -405,7 +405,6 @@ files:
405
405
  - lib/aspera/data/4
406
406
  - lib/aspera/data/5
407
407
  - lib/aspera/data/6
408
- - lib/aspera/data/7
409
408
  - lib/aspera/data_repository.rb
410
409
  - lib/aspera/environment.rb
411
410
  - lib/aspera/fasp/agent_base.rb
metadata.gz.sig CHANGED
Binary file
data/docs/test_env.conf DELETED
@@ -1,186 +0,0 @@
1
- ---
2
- config:
3
- version: 4.0.0
4
- default:
5
- config: cli_default
6
- aoc: tst_aoc_jwt
7
- faspex: tst_faspex4
8
- faspex5: tst_faspex5_jwt
9
- shares: tst_shares
10
- node: tst_node_simple
11
- server: tst_server
12
- orchestrator: tst_orch
13
- console: tst_console
14
- preview: tst_ak_preview
15
- ats: tst_ats
16
- bss: tst_bss
17
- cos: tst_cos
18
- cli_default:
19
- interactive: your value here
20
- smtp: your value here
21
- local_user:
22
- ssh_keys: your value here
23
- smtp_config:
24
- server: your value here
25
- port: your value here
26
- domain: your value here
27
- tls: your value here
28
- from_email: your value here
29
- from_name: your value here
30
- username: your value here
31
- password: your value here
32
- tst_aoc_jwt:
33
- url: your value here
34
- username: your value here
35
- auth: your value here
36
- private_key: your value here
37
- tst_aoc_web:
38
- url: your value here
39
- auth: your value here
40
- redirect_uri: your value here
41
- client_id: your value here
42
- client_secret: your value here
43
- tst_faspex4:
44
- url: your value here
45
- username: your value here
46
- password: your value here
47
- tst_faspex4_admin:
48
- username: your value here
49
- password: your value here
50
- faspex4_publink:
51
- link_recv_from_user: your value here
52
- link_send_to_user: your value here
53
- link_send_to_dropbox: your value here
54
- tst_faspex4_storage:
55
- storage: your value here
56
- tst_hstsfaspex_ssh:
57
- url: your value here
58
- username: your value here
59
- tst_faspex5_boot:
60
- url: your value here
61
- auth: your value here
62
- username: your value here
63
- password: your value here
64
- tst_faspex5_web:
65
- url: your value here
66
- auth: your value here
67
- redirect_uri: your value here
68
- client_id: your value here
69
- tst_faspex5_jwt:
70
- url: your value here
71
- auth: your value here
72
- client_id: your value here
73
- client_secret: your value here
74
- private_key: your value here
75
- username: your value here
76
- f5_admin:
77
- username: your value here
78
- tst_shares:
79
- url: your value here
80
- username: your value here
81
- password: your value here
82
- tst_shares_1:
83
- url: your value here
84
- username: your value here
85
- password: your value here
86
- tst_node_simple:
87
- url: your value here
88
- username: your value here
89
- password: your value here
90
- tst_node_ak:
91
- url: your value here
92
- username: your value here
93
- password: your value here
94
- tst_node_faspex:
95
- url: your value here
96
- username: your value here
97
- password: your value here
98
- tst_node_admak:
99
- url: your value here
100
- username: your value here
101
- password: your value here
102
- tst_node_preview:
103
- url: your value here
104
- username: your value here
105
- password: your value here
106
- tst_console:
107
- url: your value here
108
- username: your value here
109
- password: your value here
110
- tst_server:
111
- url: your value here
112
- username: your value here
113
- password: your value here
114
- tst_server_bykey:
115
- url: your value here
116
- username: your value here
117
- tst_orch:
118
- url: your value here
119
- username: your value here
120
- password: your value here
121
- tst_ats:
122
- ibm_api_key: your value here
123
- ats_key: your value here
124
- ats_secret: your value here
125
- instance: your value here
126
- tst_bss:
127
- password: your value here
128
- tst_ak_preview:
129
- url: your value here
130
- username: your value here
131
- password: your value here
132
- mimemagic: your value here
133
- tst_cos:
134
- apikey: your value here
135
- crn: your value here
136
- bucket: your value here
137
- endpoint: your value here
138
- sync:
139
- local_path: your value here
140
- remote_path: your value here
141
- nowss:
142
- ts: your value here
143
- misc:
144
- upload_folder: your value here
145
- syncuser: your value here
146
- faspex_dbx: your value here
147
- faspex_wkg: your value here
148
- faspex_src: your value here
149
- faspex5_shinbox: your value here
150
- faspex5_meta: your value here
151
- shares_upload: your value here
152
- console_smart_id: your value here
153
- console_smart_file: your value here
154
- orch_workflow_id: your value here
155
- file_dcm: your value here
156
- file_pdf: your value here
157
- file_docx: your value here
158
- file_mxf: your value here
159
- aws_bucket_key: your value here
160
- aws_bucket_secret: your value here
161
- aws_bucket_name: your value here
162
- aws_bucket_region: your value here
163
- aoc_publink_recv_from_aocuser: your value here
164
- aoc_publink_send_shd_inbox: your value here
165
- aoc_publink_send_aoc_user: your value here
166
- aoc_publink_send_use_pass: your value here
167
- aoc_publink_folder: your value here
168
- aoc_shbx_ws: your value here
169
- aoc_shbx_name: your value here
170
- aoc_shbx_meta: your value here
171
- aoc_ak_name: your value here
172
- aoc_ak_secret: your value here
173
- aoc_test_folder: your value here
174
- icos_bucket_key: your value here
175
- icos_bucket_secret: your value here
176
- icos_bucket_name: your value here
177
- icos_bucket_region: your value here
178
- icos_bucket_endpoint: your value here
179
- icos_bucket_apikey: your value here
180
- icos_resource_instance_id: your value here
181
- email_internal: your value here
182
- email_external: your value here
183
- aoc_org: your value here
184
- aoc_user_email: your value here
185
- aoc_workspace2: your value here
186
- http_gw_fqdn_port: your value here
data/lib/aspera/data/7 DELETED
Binary file