aspera-cli 4.26.1 → 4.26.2
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/CHANGELOG.md +19 -1
- data/CONTRIBUTING.md +2 -5
- data/bin/ascli +2 -2
- data/lib/aspera/agent/direct.rb +1 -1
- data/lib/aspera/agent/factory.rb +4 -0
- data/lib/aspera/agent/httpgw.rb +1 -1
- data/lib/aspera/agent/node.rb +2 -2
- data/lib/aspera/api/aoc.rb +43 -36
- data/lib/aspera/api/cos_node.rb +1 -1
- data/lib/aspera/api/faspex.rb +7 -6
- data/lib/aspera/api/node.rb +7 -7
- data/lib/aspera/ascmd.rb +4 -4
- data/lib/aspera/ascp/installation.rb +6 -2
- data/lib/aspera/cli/context.rb +58 -0
- data/lib/aspera/cli/extended_value.rb +3 -2
- data/lib/aspera/cli/formatter.rb +83 -184
- data/lib/aspera/cli/http.rb +167 -0
- data/lib/aspera/cli/manager.rb +3 -2
- data/lib/aspera/cli/plugins/alee.rb +2 -2
- data/lib/aspera/cli/plugins/aoc.rb +78 -67
- data/lib/aspera/cli/plugins/ats.rb +16 -16
- data/lib/aspera/cli/plugins/base.rb +18 -12
- data/lib/aspera/cli/plugins/config.rb +166 -438
- data/lib/aspera/cli/plugins/console.rb +7 -7
- data/lib/aspera/cli/plugins/cos.rb +2 -2
- data/lib/aspera/cli/plugins/factory.rb +3 -0
- data/lib/aspera/cli/plugins/faspex.rb +21 -21
- data/lib/aspera/cli/plugins/faspex5.rb +64 -44
- data/lib/aspera/cli/plugins/faspio.rb +1 -1
- data/lib/aspera/cli/plugins/httpgw.rb +2 -2
- data/lib/aspera/cli/plugins/node.rb +79 -79
- data/lib/aspera/cli/plugins/orchestrator.rb +21 -26
- data/lib/aspera/cli/plugins/preview.rb +9 -9
- data/lib/aspera/cli/plugins/server.rb +7 -7
- data/lib/aspera/cli/plugins/shares.rb +2 -2
- data/lib/aspera/cli/preset_manager.rb +235 -0
- data/lib/aspera/cli/result.rb +310 -0
- data/lib/aspera/cli/{main.rb → runner.rb} +14 -155
- data/lib/aspera/cli/sync_actions.rb +14 -10
- data/lib/aspera/cli/terminal_formatter.rb +65 -0
- data/lib/aspera/cli/transfer_progress.rb +6 -6
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/cli/wizard.rb +5 -6
- data/lib/aspera/command_line_builder.rb +1 -1
- data/lib/aspera/data_repository.rb +4 -0
- data/lib/aspera/dot_container.rb +1 -1
- data/lib/aspera/environment.rb +22 -3
- data/lib/aspera/faspex_gw.rb +1 -1
- data/lib/aspera/json_rpc.rb +6 -5
- data/lib/aspera/keychain/base.rb +1 -1
- data/lib/aspera/keychain/encrypted_hash.rb +1 -1
- data/lib/aspera/keychain/factory.rb +1 -1
- data/lib/aspera/keychain/macos_security.rb +1 -1
- data/lib/aspera/log.rb +6 -2
- data/lib/aspera/nagios.rb +2 -2
- data/lib/aspera/oauth/base.rb +5 -5
- data/lib/aspera/oauth/boot.rb +43 -0
- data/lib/aspera/oauth/factory.rb +37 -13
- data/lib/aspera/oauth/web.rb +2 -2
- data/lib/aspera/oauth.rb +1 -0
- data/lib/aspera/persistency_action_once.rb +2 -2
- data/lib/aspera/preview/file_types.rb +4 -0
- data/lib/aspera/products/connect.rb +3 -0
- data/lib/aspera/products/transferd.rb +2 -2
- data/lib/aspera/proxy_auto_config.rb +3 -3
- data/lib/aspera/rest.rb +8 -4
- data/lib/aspera/rest_error_analyzer.rb +4 -0
- data/lib/aspera/rest_list.rb +10 -3
- data/lib/aspera/schema/IBM Aspera Faspex API-5.0-enhanced.yaml +14 -4
- data/lib/aspera/schema/IBM Aspera on Cloud API-0.2.6-enhanced.yaml +827 -88
- data/lib/aspera/schema/async_tables.yaml +361 -0
- data/lib/aspera/schema/reader.rb +1 -1
- data/lib/aspera/schema/registry.rb +13 -6
- data/lib/aspera/secret_hider.rb +4 -0
- data/lib/aspera/sync/database.rb +14 -10
- data/lib/aspera/sync/operations.rb +5 -5
- data/lib/aspera/temp_file_manager.rb +4 -0
- data/lib/aspera/transfer/parameters.rb +4 -4
- data/lib/aspera/transfer/resumer.rb +1 -1
- data/lib/aspera/transfer/spec.schema.yaml +17 -8
- data/lib/aspera/transfer/uri.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +21 -14
- metadata.gz.sig +0 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require 'aspera/cli/extended_value'
|
|
4
4
|
require 'aspera/assert'
|
|
5
|
+
require 'aspera/cli/result'
|
|
5
6
|
|
|
6
7
|
module Aspera
|
|
7
8
|
module Cli
|
|
@@ -47,6 +48,10 @@ module Aspera
|
|
|
47
48
|
def formatter; @context.formatter; end
|
|
48
49
|
# @return [Aspera::PersistencyFolder]
|
|
49
50
|
def persistency; @context.persistency; end
|
|
51
|
+
# @return [Aspera::Cli::PresetManager]
|
|
52
|
+
def presets; @context.presets; end
|
|
53
|
+
# @return [Aspera::Cli::Http]
|
|
54
|
+
def http_config; @context.http_config; end
|
|
50
55
|
|
|
51
56
|
def add_manual_header(has_options = true)
|
|
52
57
|
# Manual header for all plugins
|
|
@@ -67,7 +72,7 @@ module Aspera
|
|
|
67
72
|
# @yieldreturn [Hash, nil] Result hash for the operation (optional)
|
|
68
73
|
# @return [Hash] Result suitable for CLI output
|
|
69
74
|
def do_bulk_operation(command:, descr: nil, values: Hash, id_result: 'id', fields: :default, schema: nil, &block)
|
|
70
|
-
Aspera.assert(block_given
|
|
75
|
+
Aspera.assert(block_given?, 'missing block')
|
|
71
76
|
is_bulk = options.get_option(:bulk)
|
|
72
77
|
case values
|
|
73
78
|
when :identifier
|
|
@@ -100,10 +105,10 @@ module Aspera
|
|
|
100
105
|
end
|
|
101
106
|
display_fields = [id_result, 'status']
|
|
102
107
|
if is_bulk
|
|
103
|
-
return
|
|
108
|
+
return Result::ObjectList.new(result_list, fields: display_fields)
|
|
104
109
|
else
|
|
105
110
|
display_fields = fields unless fields.eql?(:default)
|
|
106
|
-
return
|
|
111
|
+
return Result::SingleObject.new(result_list.first, fields: display_fields)
|
|
107
112
|
end
|
|
108
113
|
end
|
|
109
114
|
|
|
@@ -130,6 +135,7 @@ module Aspera
|
|
|
130
135
|
id_as_arg: false,
|
|
131
136
|
is_singleton: false,
|
|
132
137
|
list_query: nil,
|
|
138
|
+
schema: nil,
|
|
133
139
|
&block
|
|
134
140
|
)
|
|
135
141
|
command = options.get_next_command(Operations::ALL) if command.nil?
|
|
@@ -144,7 +150,7 @@ module Aspera
|
|
|
144
150
|
case command
|
|
145
151
|
when :create
|
|
146
152
|
raise BadArgument, 'cannot create singleton' if is_singleton
|
|
147
|
-
return do_bulk_operation(command: command, descr: 'data', fields: display_fields) do |params|
|
|
153
|
+
return do_bulk_operation(command: command, descr: 'data', fields: display_fields, schema: schema) do |params|
|
|
148
154
|
api.create(entity, params)
|
|
149
155
|
end
|
|
150
156
|
when :delete
|
|
@@ -158,17 +164,17 @@ module Aspera
|
|
|
158
164
|
content_type: Mime::JSON,
|
|
159
165
|
body: {delete_style => one_res_id}
|
|
160
166
|
)
|
|
161
|
-
return
|
|
167
|
+
return Result::Status.new('deleted')
|
|
162
168
|
end
|
|
163
169
|
return do_bulk_operation(command: command, values: one_res_id) do |one_id|
|
|
164
170
|
api.delete("#{entity}/#{one_id}", query_read_delete)
|
|
165
171
|
{'id' => one_id}
|
|
166
172
|
end
|
|
167
173
|
when :show
|
|
168
|
-
return
|
|
174
|
+
return Result::SingleObject.new(api.read(one_res_path), fields: display_fields)
|
|
169
175
|
when :list
|
|
170
176
|
data, http = api.read(entity, query_read_delete, ret: :both)
|
|
171
|
-
return
|
|
177
|
+
return Result::Empty.new if http.code == '204'
|
|
172
178
|
# TODO: not generic : which application is this for ?
|
|
173
179
|
if http['Content-Type'].start_with?('application/vnd.api+json')
|
|
174
180
|
Log.log.debug('is vnd.api')
|
|
@@ -177,17 +183,17 @@ module Aspera
|
|
|
177
183
|
data = data[items_key] if items_key
|
|
178
184
|
case data
|
|
179
185
|
when Hash
|
|
180
|
-
return
|
|
186
|
+
return Result::SingleObject.new(data, fields: display_fields)
|
|
181
187
|
when Array
|
|
182
|
-
return
|
|
183
|
-
return
|
|
188
|
+
return Result::ObjectList.new(data, fields: display_fields) if data.empty? || data.first.is_a?(Hash)
|
|
189
|
+
return Result::ValueList.new(data)
|
|
184
190
|
else
|
|
185
191
|
Aspera.error_unexpected_value(data.class.name){'list type'}
|
|
186
192
|
end
|
|
187
193
|
when :modify
|
|
188
|
-
parameters = value_create_modify(command: command)
|
|
194
|
+
parameters = value_create_modify(command: command, schema: schema)
|
|
189
195
|
api.update(one_res_path, parameters)
|
|
190
|
-
return
|
|
196
|
+
return Result::Status.new('modified')
|
|
191
197
|
else
|
|
192
198
|
Aspera.error_unexpected_value(command){'command'}
|
|
193
199
|
end
|