aspera-cli 4.13.0 → 4.14.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 (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