aspera-cli 4.2.1 → 4.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1580 -946
- data/bin/ascli +1 -1
- data/bin/asession +3 -5
- data/docs/Makefile +8 -11
- data/docs/README.erb.md +1521 -829
- data/docs/doc_tools.rb +58 -0
- data/docs/test_env.conf +3 -1
- data/examples/faspex4.rb +28 -19
- data/examples/transfer.rb +2 -2
- data/lib/aspera/aoc.rb +157 -134
- data/lib/aspera/cli/listener/progress_multi.rb +5 -5
- data/lib/aspera/cli/main.rb +106 -48
- data/lib/aspera/cli/manager.rb +19 -20
- data/lib/aspera/cli/plugin.rb +22 -7
- data/lib/aspera/cli/plugins/aoc.rb +260 -208
- data/lib/aspera/cli/plugins/ats.rb +11 -10
- data/lib/aspera/cli/plugins/bss.rb +2 -2
- data/lib/aspera/cli/plugins/config.rb +360 -189
- data/lib/aspera/cli/plugins/faspex.rb +119 -56
- data/lib/aspera/cli/plugins/faspex5.rb +32 -17
- data/lib/aspera/cli/plugins/node.rb +72 -31
- data/lib/aspera/cli/plugins/orchestrator.rb +5 -3
- data/lib/aspera/cli/plugins/preview.rb +94 -68
- data/lib/aspera/cli/plugins/server.rb +16 -5
- data/lib/aspera/cli/plugins/shares.rb +17 -0
- data/lib/aspera/cli/transfer_agent.rb +64 -82
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/command_line_builder.rb +48 -31
- data/lib/aspera/cos_node.rb +4 -3
- data/lib/aspera/environment.rb +4 -4
- data/lib/aspera/fasp/{manager.rb → agent_base.rb} +7 -6
- data/lib/aspera/fasp/{connect.rb → agent_connect.rb} +46 -39
- data/lib/aspera/fasp/{local.rb → agent_direct.rb} +42 -38
- data/lib/aspera/fasp/{http_gw.rb → agent_httpgw.rb} +50 -29
- data/lib/aspera/fasp/{node.rb → agent_node.rb} +43 -4
- data/lib/aspera/fasp/agent_trsdk.rb +106 -0
- data/lib/aspera/fasp/default.rb +17 -0
- data/lib/aspera/fasp/installation.rb +64 -48
- data/lib/aspera/fasp/parameters.rb +78 -91
- data/lib/aspera/fasp/parameters.yaml +531 -0
- data/lib/aspera/fasp/uri.rb +1 -1
- data/lib/aspera/faspex_gw.rb +12 -11
- data/lib/aspera/id_generator.rb +22 -0
- data/lib/aspera/keychain/encrypted_hash.rb +120 -0
- data/lib/aspera/keychain/macos_security.rb +94 -0
- data/lib/aspera/log.rb +45 -32
- data/lib/aspera/node.rb +9 -4
- data/lib/aspera/oauth.rb +116 -100
- data/lib/aspera/persistency_action_once.rb +11 -7
- data/lib/aspera/persistency_folder.rb +6 -26
- data/lib/aspera/rest.rb +66 -50
- data/lib/aspera/sync.rb +40 -35
- data/lib/aspera/timer_limiter.rb +22 -0
- metadata +86 -29
- data/docs/transfer_spec.html +0 -99
- data/lib/aspera/api_detector.rb +0 -60
- data/lib/aspera/fasp/aoc.rb +0 -24
- data/lib/aspera/secrets.rb +0 -20
@@ -44,9 +44,7 @@ module Aspera
|
|
44
44
|
commands=[:create,:list,:show,:modify,:delete,:node,:cluster,:entitlement]
|
45
45
|
command=self.options.get_next_command(commands)
|
46
46
|
# those dont require access key id
|
47
|
-
unless [:create,:list].include?(command)
|
48
|
-
access_key_id=self.options.get_option(:id,:mandatory)
|
49
|
-
end
|
47
|
+
access_key_id=self.instance_identifier() unless [:create,:list].include?(command)
|
50
48
|
case command
|
51
49
|
when :create
|
52
50
|
params=self.options.get_option(:params,:optional) || {}
|
@@ -102,21 +100,24 @@ module Aspera
|
|
102
100
|
ak_data=ats_api_pub_v1.read("access_keys/#{access_key_id}")[:data]
|
103
101
|
server_data=@ats_api_pub.all_servers.select {|i| i['id'].start_with?(ak_data['transfer_server_id'])}.first
|
104
102
|
raise CliError,"no such server found" if server_data.nil?
|
103
|
+
base_url=server_data['transfer_setup_url']
|
105
104
|
api_node=Rest.new({
|
106
|
-
:base_url =>
|
105
|
+
:base_url => base_url,
|
107
106
|
:auth => {
|
108
107
|
:type => :basic,
|
109
108
|
:username => access_key_id,
|
110
|
-
:password => @agents[:
|
109
|
+
:password => @agents[:config].get_secret(url: base_url,username: access_key_id)
|
110
|
+
}})
|
111
111
|
command=self.options.get_next_command(Node::COMMON_ACTIONS)
|
112
112
|
return Node.new(@agents.merge(skip_basic_auth_options: true, node_api: api_node)).execute_action(command)
|
113
113
|
when :cluster
|
114
|
+
base_url=ats_api_pub_v1.params[:base_url]
|
114
115
|
rest_params={
|
115
|
-
:base_url =>
|
116
|
+
:base_url => base_url,
|
116
117
|
:auth => {
|
117
118
|
:type => :basic,
|
118
119
|
:username => access_key_id,
|
119
|
-
:password => @agents[:
|
120
|
+
:password => @agents[:config].get_secret(url: base_url, username: access_key_id)
|
120
121
|
}}
|
121
122
|
api_ak_auth=Rest.new(rest_params)
|
122
123
|
return {:type=>:single_object, :data=>api_ak_auth.read("servers")[:data]}
|
@@ -132,10 +133,10 @@ module Aspera
|
|
132
133
|
when :list
|
133
134
|
return {:type=>:object_list, :data=>@ats_api_pub.all_servers, :fields=>['id','cloud','region']}
|
134
135
|
when :show
|
135
|
-
|
136
|
-
if server_id.nil?
|
136
|
+
if self.options.get_option(:cloud,:optional) or self.options.get_option(:region,:optional)
|
137
137
|
server_data=server_by_cloud_region
|
138
138
|
else
|
139
|
+
server_id=instance_identifier()
|
139
140
|
server_data=@ats_api_pub.all_servers.select {|i| i['id'].eql?(server_id)}.first
|
140
141
|
raise "no such server id" if server_data.nil?
|
141
142
|
end
|
@@ -160,7 +161,7 @@ module Aspera
|
|
160
161
|
def execute_action_api_key
|
161
162
|
command=self.options.get_next_command([:instances, :create, :list, :show, :delete])
|
162
163
|
if [:show,:delete].include?(command)
|
163
|
-
concerned_id=self.
|
164
|
+
concerned_id=self.instance_identifier()
|
164
165
|
end
|
165
166
|
rest_add_header={}
|
166
167
|
if !command.eql?(:instances)
|
@@ -46,7 +46,7 @@ module Aspera
|
|
46
46
|
# give fields to keep order
|
47
47
|
return {:type=>:object_list, :data=>result['data'][object],:fields=> FIELDS['bssSubscriptions']}
|
48
48
|
when :show
|
49
|
-
id = self.
|
49
|
+
id = self.instance_identifier()
|
50
50
|
request={
|
51
51
|
'variables'=>{'id'=>id},
|
52
52
|
'query'=>"query($id: ID!) {#{object}(id: $id) { #{all_fields('bssSubscriptions')} roleAssignments(uniqueSubjectId: true) { id subjectId } instances { id state planId serviceId ssmSubscriptionId entitlement { id } aocOrganization { id subdomainName name status tier urlId trialExpiresAt users(organizationAdmin: true) { id name email atsAdmin subscriptionAdmin } } } } }"
|
@@ -55,7 +55,7 @@ module Aspera
|
|
55
55
|
result.delete('instances')
|
56
56
|
return {:type=>:single_object, :data=>result}
|
57
57
|
when :instances
|
58
|
-
id = self.
|
58
|
+
id = self.instance_identifier()
|
59
59
|
request={
|
60
60
|
'variables'=>{'id'=>id},
|
61
61
|
'query'=>"query($id: ID!) {#{object}(id: $id) { aocOrganization { id subdomainName name status tier urlId trialExpiresAt } } } }"
|