aspera-cli 4.22.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +405 -364
- data/CONTRIBUTING.md +86 -29
- data/README.md +1856 -961
- data/bin/ascli +2 -1
- data/bin/asession +4 -4
- data/lib/aspera/agent/base.rb +4 -0
- data/lib/aspera/agent/connect.rb +20 -18
- data/lib/aspera/agent/desktop.rb +14 -11
- data/lib/aspera/agent/direct.rb +39 -31
- data/lib/aspera/agent/httpgw.rb +2 -2
- data/lib/aspera/agent/node.rb +9 -11
- data/lib/aspera/agent/transferd.rb +18 -11
- data/lib/aspera/api/aoc.rb +53 -43
- data/lib/aspera/api/cos_node.rb +7 -5
- data/lib/aspera/api/httpgw.rb +23 -22
- data/lib/aspera/api/node.rb +104 -22
- data/lib/aspera/ascmd.rb +35 -21
- data/lib/aspera/ascp/installation.rb +43 -43
- data/lib/aspera/ascp/management.rb +5 -4
- data/lib/aspera/assert.rb +55 -24
- data/lib/aspera/cli/basic_auth_plugin.rb +8 -7
- data/lib/aspera/cli/error.rb +1 -1
- data/lib/aspera/cli/extended_value.rb +28 -29
- data/lib/aspera/cli/formatter.rb +191 -168
- data/lib/aspera/cli/hints.rb +38 -4
- data/lib/aspera/cli/main.rb +139 -108
- data/lib/aspera/cli/manager.rb +51 -31
- data/lib/aspera/cli/plugin.rb +149 -78
- data/lib/aspera/cli/plugin_factory.rb +2 -2
- data/lib/aspera/cli/plugins/aoc.rb +217 -88
- data/lib/aspera/cli/plugins/ats.rb +15 -13
- data/lib/aspera/cli/plugins/config.rb +105 -227
- data/lib/aspera/cli/plugins/console.rb +49 -18
- data/lib/aspera/cli/plugins/cos.rb +4 -4
- data/lib/aspera/cli/plugins/faspex.rb +45 -51
- data/lib/aspera/cli/plugins/faspex5.rb +162 -163
- data/lib/aspera/cli/plugins/faspio.rb +6 -5
- data/lib/aspera/cli/plugins/httpgw.rb +2 -2
- data/lib/aspera/cli/plugins/node.rb +233 -247
- data/lib/aspera/cli/plugins/orchestrator.rb +10 -14
- data/lib/aspera/cli/plugins/preview.rb +26 -29
- data/lib/aspera/cli/plugins/server.rb +29 -28
- data/lib/aspera/cli/plugins/shares.rb +40 -28
- data/lib/aspera/cli/sync_actions.rb +101 -80
- data/lib/aspera/cli/transfer_agent.rb +55 -58
- data/lib/aspera/cli/transfer_progress.rb +29 -20
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/cli/wizard.rb +160 -0
- data/lib/aspera/colors.rb +13 -8
- data/lib/aspera/command_line_builder.rb +28 -22
- data/lib/aspera/command_line_converter.rb +31 -0
- data/lib/aspera/data_repository.rb +1 -0
- data/lib/aspera/environment.rb +144 -100
- data/lib/aspera/faspex_gw.rb +1 -1
- data/lib/aspera/faspex_postproc.rb +3 -2
- data/lib/aspera/hash_ext.rb +1 -1
- data/lib/aspera/id_generator.rb +10 -10
- data/lib/aspera/keychain/base.rb +18 -0
- data/lib/aspera/keychain/encrypted_hash.rb +6 -12
- data/lib/aspera/keychain/factory.rb +9 -3
- data/lib/aspera/keychain/hashicorp_vault.rb +9 -6
- data/lib/aspera/keychain/macos_security.rb +13 -13
- data/lib/aspera/log.rb +70 -20
- data/lib/aspera/nagios.rb +5 -6
- data/lib/aspera/node_simulator.rb +12 -7
- data/lib/aspera/oauth/base.rb +6 -2
- data/lib/aspera/oauth/factory.rb +25 -18
- data/lib/aspera/oauth/jwt.rb +13 -1
- data/lib/aspera/oauth/url_json.rb +3 -3
- data/lib/aspera/oauth/web.rb +5 -3
- data/lib/aspera/persistency_folder.rb +2 -2
- data/lib/aspera/preview/file_types.rb +43 -35
- data/lib/aspera/preview/generator.rb +26 -13
- data/lib/aspera/preview/terminal.rb +10 -7
- data/lib/aspera/preview/utils.rb +11 -9
- data/lib/aspera/products/connect.rb +2 -1
- data/lib/aspera/products/desktop.rb +1 -1
- data/lib/aspera/products/other.rb +2 -2
- data/lib/aspera/products/transferd.rb +8 -6
- data/lib/aspera/proxy_auto_config.rb +1 -1
- data/lib/aspera/rest.rb +46 -28
- data/lib/aspera/rest_call_error.rb +1 -1
- data/lib/aspera/rest_error_analyzer.rb +1 -0
- data/lib/aspera/resumer.rb +1 -1
- data/lib/aspera/secret_hider.rb +46 -40
- data/lib/aspera/ssh.rb +14 -4
- data/lib/aspera/sync/args.schema.yaml +102 -0
- data/lib/aspera/sync/conf.schema.yaml +701 -0
- data/lib/aspera/sync/database.rb +83 -0
- data/lib/aspera/{transfer/sync.rb → sync/operations.rb} +145 -68
- data/lib/aspera/temp_file_manager.rb +4 -2
- data/lib/aspera/timer_limiter.rb +7 -5
- data/lib/aspera/transfer/error.rb +1 -1
- data/lib/aspera/transfer/error_info.rb +1 -2
- data/lib/aspera/transfer/faux_file.rb +11 -10
- data/lib/aspera/transfer/parameters.rb +6 -5
- data/lib/aspera/transfer/spec.rb +15 -1
- data/lib/aspera/transfer/spec.schema.yaml +316 -293
- data/lib/aspera/transfer/spec_doc.rb +34 -16
- data/lib/aspera/transfer/uri.rb +5 -5
- data/lib/aspera/uri_reader.rb +14 -10
- data/lib/aspera/web_auth.rb +2 -2
- data/lib/aspera/web_server_simple.rb +2 -2
- data.tar.gz.sig +0 -0
- metadata +15 -15
- metadata.gz.sig +0 -0
- data/examples/dascli +0 -30
- data/examples/get_proto_file.rb +0 -8
- data/examples/proxy.pac +0 -60
- data/lib/aspera/transfer/convert.rb +0 -29
- data/lib/aspera/transfer/sync_instance.schema.yaml +0 -13
- data/lib/aspera/transfer/sync_session.schema.yaml +0 -79
@@ -19,6 +19,8 @@ module Aspera
|
|
19
19
|
private_constant :CLOUD_TABLE
|
20
20
|
def initialize(**_)
|
21
21
|
super
|
22
|
+
@ats_api_pub = nil
|
23
|
+
@ats_api_pub_v1_cache = nil
|
22
24
|
options.declare(:ibm_api_key, 'IBM API key, see https://cloud.ibm.com/iam/apikeys')
|
23
25
|
options.declare(:instance, 'ATS instance in ibm cloud')
|
24
26
|
options.declare(:ats_key, 'ATS key identifier (ats_xxx)')
|
@@ -45,7 +47,8 @@ module Aspera
|
|
45
47
|
auth: {
|
46
48
|
type: :basic,
|
47
49
|
username: options.get_option(:ats_key, mandatory: true),
|
48
|
-
password: options.get_option(:ats_secret, mandatory: true)
|
50
|
+
password: options.get_option(:ats_secret, mandatory: true)
|
51
|
+
}
|
49
52
|
)
|
50
53
|
end
|
51
54
|
|
@@ -82,9 +85,7 @@ module Aspera
|
|
82
85
|
# specific one do not have s3 end point in id
|
83
86
|
params['transfer_server_id'] = server_data2['id']
|
84
87
|
end
|
85
|
-
if !params['storage'].key?('authentication_endpoint')
|
86
|
-
params['storage']['endpoint'] = server_data2['s3_authentication_endpoint']
|
87
|
-
end
|
88
|
+
params['storage']['endpoint'] = server_data2['s3_authentication_endpoint'] if !params['storage'].key?('authentication_endpoint')
|
88
89
|
end
|
89
90
|
end
|
90
91
|
res = ats_api_pub_v1.create('access_keys', params)
|
@@ -120,9 +121,10 @@ module Aspera
|
|
120
121
|
type: :basic,
|
121
122
|
username: access_key_id,
|
122
123
|
password: config.lookup_secret(url: node_url, username: access_key_id)
|
123
|
-
}
|
124
|
+
}
|
125
|
+
)
|
124
126
|
command = options.get_next_command(Node::COMMANDS_GEN4)
|
125
|
-
return Node.new(
|
127
|
+
return Node.new(context: context, api: api_node).execute_command_gen4(command, ak_data['root_file_id'])
|
126
128
|
when :cluster
|
127
129
|
ats_url = ats_api_pub_v1.base_url
|
128
130
|
api_ak_auth = Rest.new(
|
@@ -131,7 +133,8 @@ module Aspera
|
|
131
133
|
type: :basic,
|
132
134
|
username: access_key_id,
|
133
135
|
password: config.lookup_secret(url: ats_url, username: access_key_id)
|
134
|
-
}
|
136
|
+
}
|
137
|
+
)
|
135
138
|
return Main.result_single_object(api_ak_auth.read('servers'))
|
136
139
|
else Aspera.error_unexpected_value(command)
|
137
140
|
end
|
@@ -150,13 +153,13 @@ module Aspera
|
|
150
153
|
else
|
151
154
|
server_id = instance_identifier
|
152
155
|
server_data = @ats_api_pub.all_servers.find{ |i| i['id'].eql?(server_id)}
|
153
|
-
raise '
|
156
|
+
raise BadIdentifier.new('server', server_id) if server_data.nil?
|
154
157
|
end
|
155
158
|
return Main.result_single_object(server_data)
|
156
159
|
end
|
157
160
|
end
|
158
161
|
|
159
|
-
def ats_api_v2_auth_ibm(rest_add_headers={})
|
162
|
+
def ats_api_v2_auth_ibm(rest_add_headers = {})
|
160
163
|
return Rest.new(
|
161
164
|
base_url: "#{Api::Ats::SERVICE_BASE_URL}/v2",
|
162
165
|
headers: rest_add_headers,
|
@@ -168,14 +171,13 @@ module Aspera
|
|
168
171
|
grant_type: 'urn:ibm:params:oauth:grant-type:apikey',
|
169
172
|
response_type: 'cloud_iam',
|
170
173
|
apikey: options.get_option(:ibm_api_key, mandatory: true)
|
171
|
-
}
|
174
|
+
}
|
175
|
+
)
|
172
176
|
end
|
173
177
|
|
174
178
|
def execute_action_api_key
|
175
179
|
command = options.get_next_command(%i[instances create list show delete])
|
176
|
-
if %i[show delete].include?(command)
|
177
|
-
concerned_id = instance_identifier
|
178
|
-
end
|
180
|
+
concerned_id = instance_identifier if %i[show delete].include?(command)
|
179
181
|
rest_add_header = {}
|
180
182
|
if !command.eql?(:instances)
|
181
183
|
instance = options.get_option(:instance)
|