aspera-cli 4.23.0 → 4.24.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 (109) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +32 -1
  4. data/CONTRIBUTING.md +86 -29
  5. data/README.md +1651 -856
  6. data/bin/ascli +2 -1
  7. data/bin/asession +4 -4
  8. data/lib/aspera/agent/base.rb +4 -0
  9. data/lib/aspera/agent/connect.rb +20 -18
  10. data/lib/aspera/agent/desktop.rb +14 -11
  11. data/lib/aspera/agent/direct.rb +39 -31
  12. data/lib/aspera/agent/httpgw.rb +2 -2
  13. data/lib/aspera/agent/node.rb +9 -11
  14. data/lib/aspera/agent/transferd.rb +18 -11
  15. data/lib/aspera/api/aoc.rb +44 -31
  16. data/lib/aspera/api/cos_node.rb +7 -5
  17. data/lib/aspera/api/httpgw.rb +15 -18
  18. data/lib/aspera/api/node.rb +104 -22
  19. data/lib/aspera/ascmd.rb +22 -16
  20. data/lib/aspera/ascp/installation.rb +37 -40
  21. data/lib/aspera/ascp/management.rb +5 -4
  22. data/lib/aspera/assert.rb +54 -23
  23. data/lib/aspera/cli/basic_auth_plugin.rb +8 -7
  24. data/lib/aspera/cli/error.rb +1 -1
  25. data/lib/aspera/cli/extended_value.rb +28 -29
  26. data/lib/aspera/cli/formatter.rb +191 -168
  27. data/lib/aspera/cli/hints.rb +29 -3
  28. data/lib/aspera/cli/main.rb +138 -107
  29. data/lib/aspera/cli/manager.rb +50 -30
  30. data/lib/aspera/cli/plugin.rb +148 -77
  31. data/lib/aspera/cli/plugin_factory.rb +2 -2
  32. data/lib/aspera/cli/plugins/aoc.rb +189 -70
  33. data/lib/aspera/cli/plugins/ats.rb +15 -13
  34. data/lib/aspera/cli/plugins/config.rb +86 -213
  35. data/lib/aspera/cli/plugins/console.rb +49 -18
  36. data/lib/aspera/cli/plugins/cos.rb +4 -4
  37. data/lib/aspera/cli/plugins/faspex.rb +45 -51
  38. data/lib/aspera/cli/plugins/faspex5.rb +162 -163
  39. data/lib/aspera/cli/plugins/faspio.rb +6 -5
  40. data/lib/aspera/cli/plugins/httpgw.rb +2 -2
  41. data/lib/aspera/cli/plugins/node.rb +144 -162
  42. data/lib/aspera/cli/plugins/orchestrator.rb +10 -14
  43. data/lib/aspera/cli/plugins/preview.rb +26 -29
  44. data/lib/aspera/cli/plugins/server.rb +28 -28
  45. data/lib/aspera/cli/plugins/shares.rb +40 -28
  46. data/lib/aspera/cli/sync_actions.rb +101 -80
  47. data/lib/aspera/cli/transfer_agent.rb +51 -50
  48. data/lib/aspera/cli/transfer_progress.rb +29 -20
  49. data/lib/aspera/cli/version.rb +1 -1
  50. data/lib/aspera/cli/wizard.rb +160 -0
  51. data/lib/aspera/colors.rb +13 -8
  52. data/lib/aspera/command_line_builder.rb +28 -22
  53. data/lib/aspera/command_line_converter.rb +31 -0
  54. data/lib/aspera/environment.rb +144 -101
  55. data/lib/aspera/faspex_gw.rb +1 -1
  56. data/lib/aspera/faspex_postproc.rb +3 -2
  57. data/lib/aspera/hash_ext.rb +1 -1
  58. data/lib/aspera/id_generator.rb +10 -10
  59. data/lib/aspera/keychain/base.rb +18 -0
  60. data/lib/aspera/keychain/encrypted_hash.rb +6 -12
  61. data/lib/aspera/keychain/factory.rb +9 -3
  62. data/lib/aspera/keychain/hashicorp_vault.rb +9 -6
  63. data/lib/aspera/keychain/macos_security.rb +13 -13
  64. data/lib/aspera/log.rb +69 -20
  65. data/lib/aspera/nagios.rb +5 -6
  66. data/lib/aspera/node_simulator.rb +12 -7
  67. data/lib/aspera/oauth/base.rb +5 -3
  68. data/lib/aspera/oauth/factory.rb +24 -18
  69. data/lib/aspera/oauth/jwt.rb +13 -1
  70. data/lib/aspera/oauth/url_json.rb +3 -3
  71. data/lib/aspera/oauth/web.rb +5 -3
  72. data/lib/aspera/persistency_folder.rb +2 -2
  73. data/lib/aspera/preview/file_types.rb +4 -3
  74. data/lib/aspera/preview/generator.rb +25 -12
  75. data/lib/aspera/preview/terminal.rb +10 -7
  76. data/lib/aspera/preview/utils.rb +11 -9
  77. data/lib/aspera/products/connect.rb +1 -1
  78. data/lib/aspera/products/desktop.rb +1 -1
  79. data/lib/aspera/products/other.rb +2 -2
  80. data/lib/aspera/products/transferd.rb +8 -6
  81. data/lib/aspera/proxy_auto_config.rb +1 -1
  82. data/lib/aspera/rest.rb +29 -22
  83. data/lib/aspera/rest_call_error.rb +1 -1
  84. data/lib/aspera/resumer.rb +1 -1
  85. data/lib/aspera/secret_hider.rb +46 -40
  86. data/lib/aspera/ssh.rb +13 -3
  87. data/lib/aspera/sync/args.schema.yaml +102 -0
  88. data/lib/aspera/sync/conf.schema.yaml +701 -0
  89. data/lib/aspera/sync/database.rb +83 -0
  90. data/lib/aspera/{transfer/sync.rb → sync/operations.rb} +132 -65
  91. data/lib/aspera/temp_file_manager.rb +3 -2
  92. data/lib/aspera/transfer/error.rb +1 -1
  93. data/lib/aspera/transfer/error_info.rb +1 -2
  94. data/lib/aspera/transfer/faux_file.rb +11 -10
  95. data/lib/aspera/transfer/parameters.rb +6 -5
  96. data/lib/aspera/transfer/spec.rb +15 -1
  97. data/lib/aspera/transfer/spec.schema.yaml +316 -293
  98. data/lib/aspera/transfer/spec_doc.rb +34 -16
  99. data/lib/aspera/transfer/uri.rb +5 -5
  100. data/lib/aspera/uri_reader.rb +14 -10
  101. data/lib/aspera/web_auth.rb +2 -2
  102. data/lib/aspera/web_server_simple.rb +2 -2
  103. data.tar.gz.sig +0 -0
  104. metadata +15 -13
  105. metadata.gz.sig +2 -2
  106. data/lib/aspera/transfer/async_conf.schema.yaml +0 -716
  107. data/lib/aspera/transfer/convert.rb +0 -29
  108. data/lib/aspera/transfer/sync_instance.schema.yaml +0 -20
  109. data/lib/aspera/transfer/sync_session.schema.yaml +0 -86
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'aspera/assert'
4
- module Aspera
5
- module Transfer
6
- # concertion class for transfert spec values to CLI values (ascp)
7
- class Convert
8
- class << self
9
- # special encoding methods used in YAML (key: convert)
10
- def remove_hyphen(value); value.tr('-', ''); end
11
-
12
- # special encoding methods used in YAML (key: convert)
13
- def json64(value); Base64.strict_encode64(JSON.generate(value)); end
14
-
15
- # special encoding methods used in YAML (key: convert)
16
- def base64(value); Base64.strict_encode64(value); end
17
-
18
- # transform yes/no to true/false
19
- def yes_to_true(value)
20
- case value
21
- when 'yes' then return true
22
- when 'no' then return false
23
- else Aspera.error_unexpected_value(value){'only: yes or no: '}
24
- end
25
- end
26
- end
27
- end
28
- end
29
- end
@@ -1,20 +0,0 @@
1
- $schema: https://json-schema.org/draft/2020-12/schema
2
- $id: https://github.com/IBM/aspera-cli/tree/main/lib/aspera/transfer/sync_instance.schema.yaml
3
- $comment: >-
4
- `x-` fields documented in command_line_builder.rb
5
- This spec is specific to ascli.
6
- The native async conf format is now preferred.
7
- title: SyncInstanceSpec
8
- description: Global parameters for async.
9
- type: object
10
- properties:
11
- alt_logdir:
12
- type: string
13
- watchd:
14
- type: string
15
- apply_local_docroot:
16
- x-cli-switch: true
17
- quiet:
18
- x-cli-switch: true
19
- ws_connect:
20
- x-cli-switch: true
@@ -1,86 +0,0 @@
1
- $schema: https://json-schema.org/draft/2020-12/schema
2
- $id: https://github.com/IBM/aspera-cli/tree/main/lib/aspera/transfer/sync_instance.schema.yaml
3
- $comment: >-
4
- `x-` fields documented in command_line_builder.rb
5
- This spec is specific to ascli.
6
- The native async conf format is now preferred.
7
- title: SyncSessionSpec
8
- description: Sync session parameters for async.
9
- type: object
10
- properties:
11
- name:
12
- type: string
13
- local_dir:
14
- type: string
15
- remote_dir:
16
- type: string
17
- local_db_dir:
18
- type: string
19
- remote_db_dir:
20
- type: string
21
- host:
22
- type: string
23
- x-tspec: remote_host
24
- user:
25
- type: string
26
- x-tspec: remote_user
27
- private_key_paths:
28
- type: array
29
- x-cli-option: "--private-key-path"
30
- direction:
31
- type: string
32
- checksum:
33
- type: string
34
- tags:
35
- type: object
36
- x-cli-option: "--tags64"
37
- x-cli-convert: json64
38
- x-tspec: true
39
- tcp_port:
40
- type: integer
41
- x-tspec: ssh_port
42
- rate_policy:
43
- type: string
44
- target_rate:
45
- type: string
46
- cooloff:
47
- type: integer
48
- pending_max:
49
- type: integer
50
- scan_intensity:
51
- type: string
52
- cipher:
53
- type: string
54
- x-cli-convert: remove_hyphen
55
- x-tspec: true
56
- transfer_threads:
57
- type: integer
58
- preserve_time:
59
- x-cli-switch: true
60
- x-tspec: preserve_times
61
- preserve_access_time:
62
- x-cli-switch: true
63
- preserve_modification_time:
64
- x-cli-switch: true
65
- preserve_uid:
66
- x-cli-switch: true
67
- x-tspec: preserve_file_owner_uid
68
- preserve_gid:
69
- x-cli-switch: true
70
- x-tspec: preserve_file_owner_gid
71
- create_dir:
72
- x-cli-switch: true
73
- x-tspec: true
74
- reset:
75
- x-cli-switch: true
76
- remote_password:
77
- x-cli-envvar: ASPERA_SCP_PASS
78
- x-tspec: true
79
- cookie:
80
- x-cli-envvar: ASPERA_SCP_COOKIE
81
- x-tspec: true
82
- token:
83
- x-cli-envvar: ASPERA_SCP_TOKEN
84
- x-tspec: true
85
- license:
86
- x-cli-envvar: ASPERA_SCP_LICENSE