aspera-cli 4.19.0 → 4.20.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 +20 -0
- data/CONTRIBUTING.md +16 -4
- data/README.md +344 -164
- data/bin/asession +26 -19
- data/examples/build_exec +65 -76
- data/examples/build_exec_rubyc +40 -0
- data/examples/get_proto_file.rb +7 -0
- data/lib/aspera/agent/alpha.rb +8 -8
- data/lib/aspera/agent/base.rb +2 -18
- data/lib/aspera/agent/connect.rb +14 -13
- data/lib/aspera/agent/direct.rb +23 -24
- data/lib/aspera/agent/httpgw.rb +2 -3
- data/lib/aspera/agent/node.rb +10 -10
- data/lib/aspera/agent/trsdk.rb +17 -20
- data/lib/aspera/api/alee.rb +15 -0
- data/lib/aspera/api/aoc.rb +126 -97
- data/lib/aspera/api/ats.rb +1 -1
- data/lib/aspera/api/cos_node.rb +1 -1
- data/lib/aspera/api/httpgw.rb +15 -10
- data/lib/aspera/api/node.rb +33 -12
- data/lib/aspera/ascmd.rb +56 -48
- data/lib/aspera/ascp/installation.rb +99 -42
- data/lib/aspera/ascp/management.rb +3 -2
- data/lib/aspera/ascp/products.rb +12 -0
- data/lib/aspera/assert.rb +10 -5
- data/lib/aspera/cli/formatter.rb +27 -17
- data/lib/aspera/cli/hints.rb +2 -1
- data/lib/aspera/cli/info.rb +12 -10
- data/lib/aspera/cli/main.rb +16 -13
- data/lib/aspera/cli/manager.rb +5 -0
- data/lib/aspera/cli/plugin.rb +15 -29
- data/lib/aspera/cli/plugins/alee.rb +3 -3
- data/lib/aspera/cli/plugins/aoc.rb +222 -194
- data/lib/aspera/cli/plugins/ats.rb +16 -14
- data/lib/aspera/cli/plugins/config.rb +53 -45
- data/lib/aspera/cli/plugins/console.rb +3 -3
- data/lib/aspera/cli/plugins/faspex.rb +11 -21
- data/lib/aspera/cli/plugins/faspex5.rb +44 -42
- data/lib/aspera/cli/plugins/faspio.rb +2 -2
- data/lib/aspera/cli/plugins/httpgw.rb +1 -1
- data/lib/aspera/cli/plugins/node.rb +153 -95
- data/lib/aspera/cli/plugins/orchestrator.rb +14 -13
- data/lib/aspera/cli/plugins/preview.rb +8 -9
- data/lib/aspera/cli/plugins/server.rb +5 -9
- data/lib/aspera/cli/plugins/shares.rb +2 -2
- data/lib/aspera/cli/sync_actions.rb +2 -2
- data/lib/aspera/cli/transfer_agent.rb +12 -14
- data/lib/aspera/cli/transfer_progress.rb +35 -17
- data/lib/aspera/cli/version.rb +1 -1
- data/lib/aspera/command_line_builder.rb +3 -4
- data/lib/aspera/coverage.rb +13 -1
- data/lib/aspera/environment.rb +34 -18
- data/lib/aspera/faspex_gw.rb +2 -2
- data/lib/aspera/json_rpc.rb +1 -1
- data/lib/aspera/keychain/macos_security.rb +7 -12
- data/lib/aspera/log.rb +3 -4
- data/lib/aspera/oauth/base.rb +39 -45
- data/lib/aspera/oauth/factory.rb +11 -4
- data/lib/aspera/oauth/generic.rb +4 -8
- data/lib/aspera/oauth/jwt.rb +3 -3
- data/lib/aspera/oauth/url_json.rb +1 -2
- data/lib/aspera/oauth/web.rb +5 -2
- data/lib/aspera/persistency_action_once.rb +16 -8
- data/lib/aspera/preview/utils.rb +5 -16
- data/lib/aspera/rest.rb +100 -76
- data/lib/aspera/transfer/faux_file.rb +4 -4
- data/lib/aspera/transfer/parameters.rb +14 -16
- data/lib/aspera/transfer/spec.rb +12 -12
- data/lib/aspera/transfer/sync.rb +1 -5
- data/lib/aspera/transfer/uri.rb +1 -1
- data/lib/aspera/uri_reader.rb +1 -1
- data/lib/aspera/web_auth.rb +166 -17
- data/lib/aspera/web_server_simple.rb +4 -3
- data/lib/transfer_pb.rb +84 -0
- data/lib/transfer_services_pb.rb +82 -0
- data.tar.gz.sig +0 -0
- metadata +24 -5
- metadata.gz.sig +0 -0
data/lib/aspera/web_auth.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'aspera/web_server_simple'
|
4
|
+
require 'aspera/assert'
|
4
5
|
|
5
6
|
module Aspera
|
6
7
|
# servlet called on callback: it records the callback request
|
@@ -15,41 +16,189 @@ module Aspera
|
|
15
16
|
|
16
17
|
def service(request, response)
|
17
18
|
Log.log.debug{"received request from browser #{request.request_method} #{request.path}"}
|
18
|
-
|
19
|
-
|
20
|
-
# acquire lock and signal change
|
21
|
-
@web_auth.mutex.synchronize do
|
22
|
-
@web_auth.query = request.query
|
23
|
-
@web_auth.cond.signal
|
24
|
-
end
|
19
|
+
Aspera.assert_values(request.request_method, ['GET'], exception_class: WEBrick::HTTPStatus::MethodNotAllowed){'HTTP verb'}
|
20
|
+
additionnal_info = @web_auth.signal_request(request)
|
25
21
|
response.status = 200
|
26
22
|
response.content_type = 'text/html'
|
27
|
-
response.body =
|
23
|
+
response.body = <<~HTML
|
24
|
+
<!DOCTYPE html>
|
25
|
+
<html lang="en">
|
26
|
+
<head>
|
27
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
28
|
+
<link rel="icon" href="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmlld0JveD0iMCAwIDMyIDMyIiBmaWxsPSJub25lIiBzdHJva2U9IiMyMjIiIHN0cm9rZS13aWR0aD0iMyI+CiAgPGxpbmUgeDE9IjMiIHkxPSIzIiB4Mj0iMjkiIHkyPSIyOSIgIHN0cm9rZT0icmVkIi8+CiAgPGxpbmUgeDE9IjI5IiB5MT0iMyIgeDI9IjMiIHkyPSIyOSIgc3Ryb2tlPSJyZWQiIC8+Cjwvc3ZnPg==" type="image/svg+xml">
|
29
|
+
<title>Close Now</title>
|
30
|
+
<style>
|
31
|
+
body {
|
32
|
+
font-family: Arial, sans-serif;
|
33
|
+
text-align: center;
|
34
|
+
padding: 2rem;
|
35
|
+
margin: 0;
|
36
|
+
background: linear-gradient(135deg, #f0f4f8, #d9e2ec);
|
37
|
+
color: #333;
|
38
|
+
overflow: hidden; /* Ensure no scrollbars for the background animation */
|
39
|
+
position: relative;
|
40
|
+
}
|
41
|
+
h1 {
|
42
|
+
font-size: 2.5rem;
|
43
|
+
color: #0078d4;
|
44
|
+
}
|
45
|
+
p {
|
46
|
+
font-size: 1.2rem;
|
47
|
+
margin-top: 1rem;
|
48
|
+
}
|
49
|
+
|
50
|
+
/* Styling for animated IBM logos */
|
51
|
+
.logo {
|
52
|
+
position: absolute;
|
53
|
+
bottom: -100px;
|
54
|
+
width: 40px;
|
55
|
+
height: 40px;
|
56
|
+
background: none;
|
57
|
+
display: flex;
|
58
|
+
justify-content: center;
|
59
|
+
align-items: center;
|
60
|
+
animation: rise 10s infinite ease-in-out;
|
61
|
+
}
|
62
|
+
|
63
|
+
.logo svg {
|
64
|
+
width: 100%;
|
65
|
+
height: 100%;
|
66
|
+
}
|
67
|
+
|
68
|
+
.logo:nth-child(odd) {
|
69
|
+
animation-duration: 8s;
|
70
|
+
}
|
71
|
+
|
72
|
+
.logo:nth-child(even) {
|
73
|
+
animation-duration: 12s;
|
74
|
+
}
|
75
|
+
|
76
|
+
@keyframes rise {
|
77
|
+
0% {
|
78
|
+
transform: translateY(0) scale(1);
|
79
|
+
opacity: 1;
|
80
|
+
}
|
81
|
+
50% {
|
82
|
+
opacity: 0.7;
|
83
|
+
}
|
84
|
+
100% {
|
85
|
+
transform: translateY(-120vh) scale(0.7);
|
86
|
+
opacity: 0;
|
87
|
+
}
|
88
|
+
}
|
89
|
+
</style>
|
90
|
+
</head>
|
91
|
+
<body>
|
92
|
+
<h1>Thank You!</h1>
|
93
|
+
<p>You can close this window.</p>
|
94
|
+
<p>#{additionnal_info}</p>
|
95
|
+
|
96
|
+
<!-- JavaScript to generate IBM logos -->
|
97
|
+
<script>
|
98
|
+
// Function to create logos dynamically
|
99
|
+
function createLogos() {
|
100
|
+
const body = document.body;
|
101
|
+
const svgContent = `
|
102
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1000px" height="401.149px" viewBox="0 0 1000 401.149" xml:space="preserve">
|
103
|
+
<g>
|
104
|
+
<rect fill="#1F70C1" x="0" y="373.217" width="194.433" height="27.833"/>
|
105
|
+
<rect fill="#1F70C1" x="0" y="319.83" width="194.433" height="27.931"/>
|
106
|
+
<rect fill="#1F70C1" x="55.468" y="266.541" width="83.399" height="27.932"/>
|
107
|
+
<rect fill="#1F70C1" x="55.468" y="213.253" width="83.399" height="27.932"/>
|
108
|
+
<rect fill="#1F70C1" x="55.468" y="159.964" width="83.399" height="27.932"/>
|
109
|
+
<rect fill="#1F70C1" x="55.468" y="106.577" width="83.399" height="27.932"/>
|
110
|
+
<rect fill="#1F70C1" x="0" y="53.288" width="194.433" height="27.932"/>
|
111
|
+
<rect fill="#1F70C1" x="0" y="0" width="194.433" height="27.932"/>
|
112
|
+
<path fill="#1F70C1" d="M222.167,347.761h299.029c5.051-8.617,8.815-18.027,11.094-27.932H222.167V347.761z"/>
|
113
|
+
<path fill="#1F70C1" d="M497.92,213.253H277.734v27.932h243.463C514.857,230.487,507.032,221.078,497.92,213.253z"/>
|
114
|
+
<path fill="#1F70C1" d="M277.734,159.964v27.932H497.92c9.311-7.825,17.135-17.235,23.277-27.932H277.734z"/>
|
115
|
+
<path fill="#1F70C1" d="M521.197,53.288H222.167V81.22H532.29C529.715,71.315,525.951,61.906,521.197,53.288z"/>
|
116
|
+
<path fill="#1F70C1" d="M429.279,0H222.167v27.932h278.526C482.072,10.697,456.815,0,429.279,0z"/>
|
117
|
+
<rect fill="#1F70C1" x="277.734" y="106.577" width="83.3" height="27.932"/>
|
118
|
+
<path fill="#1F70C1" d="M444.433,134.509h87.163c2.476-8.914,3.764-18.324,3.764-27.932h-90.927z"/>
|
119
|
+
<rect fill="#1F70C1" x="277.734" y="266.541" width="83.3" height="27.932"/>
|
120
|
+
<path fill="#1F70C1" d="M444.433,266.541v27.932h90.927c0-9.608-1.288-19.017-3.764-27.932H444.433z"/>
|
121
|
+
<path fill="#1F70C1" d="M222.167,400.852h207.112c27.734,0,52.793-10.697,71.513-27.932H222.167V400.852z"/>
|
122
|
+
<rect fill="#1F70C1" x="555.567" y="373.217" width="138.866" height="27.833"/>
|
123
|
+
<rect fill="#1F70C1" x="555.567" y="319.83" width="138.866" height="27.931"/>
|
124
|
+
<rect fill="#1F70C1" x="611.034" y="266.541" width="83.399" height="27.932"/>
|
125
|
+
<rect fill="#1F70C1" x="611.034" y="213.253" width="83.399" height="27.932"/>
|
126
|
+
<polygon fill="#1F70C1" points="733.063,53.288 555.567,53.288 555.567,81.22 742.67,81.22"/>
|
127
|
+
<polygon fill="#1F70C1" points="714.639,0 555.567,0 555.567,27.932 724.247,27.932"/>
|
128
|
+
<rect fill="#1F70C1" x="861.034" y="373.217" width="138.866" height="27.833"/>
|
129
|
+
<rect fill="#1F70C1" x="861.034" y="319.83" width="138.866" height="27.931"/>
|
130
|
+
<rect fill="#1F70C1" x="861.034" y="266.541" width="83.399" height="27.932"/>
|
131
|
+
<rect fill="#1F70C1" x="861.034" y="213.253" width="83.399" height="27.932"/>
|
132
|
+
<polygon fill="#1F70C1" points="861.034,187.896 944.433,187.896 944.433,159.964 861.034,159.964 694.433,159.964 611.034,159.964 611.034,187.896 694.433,187.896 852.219,187.896"/>
|
133
|
+
<polygon fill="#1F70C1" points="944.433,106.577 803.982,106.577 794.374,134.509 944.433,134.509"/>
|
134
|
+
<polygon fill="#1F70C1" points="840.927,0 831.319,27.932 1000,27.932 1000,0"/>
|
135
|
+
<polygon fill="#1F70C1" points="777.734,400.852 787.341,373.217 768.126,373.217"/>
|
136
|
+
<polygon fill="#1F70C1" points="759.311,347.761 796.157,347.761 806.062,319.83 749.505,319.83"/>
|
137
|
+
<polygon fill="#1F70C1" points="740.59,294.473 814.877,294.473 824.683,266.541 730.784,266.541"/>
|
138
|
+
<polygon fill="#1F70C1" points="721.969,241.185 833.597,241.185 843.106,213.253 712.361,213.253"/>
|
139
|
+
<polygon fill="#1F70C1" points="611.034,134.509 761.093,134.509 751.486,106.577 611.034,106.577"/>
|
140
|
+
<polygon fill="#1F70C1" points="812.896,81.22 1000,81.22 1000,53.288 822.405,53.288"/>
|
141
|
+
</g>
|
142
|
+
</svg>
|
143
|
+
`;
|
144
|
+
for (let i = 0; i < 20; i++) {
|
145
|
+
const logo = document.createElement('div');
|
146
|
+
logo.className = 'logo';
|
147
|
+
const size = Math.random() * 30 + 20; // Random size between 20px and 50px
|
148
|
+
logo.style.width = `${size}px`;
|
149
|
+
logo.style.height = `${size}px`;
|
150
|
+
logo.style.left = `${Math.random() * 100}vw`;
|
151
|
+
logo.style.animationDelay = `${Math.random() * 5}s`;
|
152
|
+
logo.innerHTML = svgContent;
|
153
|
+
body.appendChild(logo);
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
157
|
+
// Call the function to create logos on load
|
158
|
+
createLogos();
|
159
|
+
</script>
|
160
|
+
</body>
|
161
|
+
</html>
|
162
|
+
HTML
|
163
|
+
|
28
164
|
return nil
|
29
165
|
end
|
30
166
|
end
|
31
167
|
|
32
|
-
# start a local web server
|
168
|
+
# start a local web server
|
169
|
+
# then start a browser that will callback the local server upon authentication
|
170
|
+
# store the final query
|
33
171
|
class WebAuth < WebServerSimple
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
# @param endpoint_url [String] e.g. 'https://127.0.0.1:12345'
|
38
|
-
def initialize(endpoint_url)
|
172
|
+
# @param endpoint_url [String] e.g. 'https://127.0.0.1:12345'
|
173
|
+
# @param additionnal_info [String] Information in web page
|
174
|
+
def initialize(endpoint_url, additionnal_info = nil)
|
39
175
|
uri = URI.parse(endpoint_url)
|
40
176
|
super(uri)
|
41
|
-
# parameters for servlet
|
42
177
|
@mutex = Mutex.new
|
43
178
|
@cond = ConditionVariable.new
|
44
179
|
@expected_path = uri.path.empty? ? '/' : uri.path
|
45
180
|
@query = nil
|
181
|
+
@additionnal_info = additionnal_info
|
46
182
|
# last argument (self) is provided to constructor of servlet
|
47
183
|
mount(@expected_path, WebAuthServlet, self)
|
184
|
+
# server runs in thread
|
48
185
|
Thread.new { start }
|
49
186
|
end
|
50
187
|
|
51
|
-
#
|
52
|
-
# @return
|
188
|
+
# Called by web server thread on received request
|
189
|
+
# @return [String] additional information for web page
|
190
|
+
def signal_request(request)
|
191
|
+
raise WEBrick::HTTPStatus::NotFound, "unexpected path: #{request.path}" unless request.path.eql?(@expected_path)
|
192
|
+
# acquire lock and signal change
|
193
|
+
@mutex.synchronize do
|
194
|
+
@query = request.query
|
195
|
+
@cond.signal
|
196
|
+
end
|
197
|
+
return @additionnal_info
|
198
|
+
end
|
199
|
+
|
200
|
+
# wait for request on web server (main thread)
|
201
|
+
# @return [Hash] the query
|
53
202
|
def received_request
|
54
203
|
# wait for signal from thread
|
55
204
|
@mutex.synchronize{@cond.wait(@mutex)}
|
@@ -17,7 +17,7 @@ module Aspera
|
|
17
17
|
private_constant :CERT_PARAMETERS, :GENERIC_ISSUER, :ONE_YEAR_SECONDS
|
18
18
|
|
19
19
|
class << self
|
20
|
-
#
|
20
|
+
# Fill and self sign provided certificate
|
21
21
|
def fill_self_signed_cert(cert, key, digest = 'SHA256')
|
22
22
|
cert.subject = cert.issuer = OpenSSL::X509::Name.parse(GENERIC_ISSUER)
|
23
23
|
cert.not_before = cert.not_after = Time.now
|
@@ -61,7 +61,7 @@ module Aspera
|
|
61
61
|
raise "unexpected key in certificate config: only: #{CERT_PARAMETERS.join(', ')}" if certificate.keys.any?{|key|!CERT_PARAMETERS.include?(key)}
|
62
62
|
if certificate.key?(:pkcs12)
|
63
63
|
Log.log.debug('Using PKCS12 certificate')
|
64
|
-
raise 'pkcs12 requires a password' unless certificate.key?(:key)
|
64
|
+
raise 'pkcs12 requires a key (password)' unless certificate.key?(:key)
|
65
65
|
pkcs12 = OpenSSL::PKCS12.new(File.read(certificate[:pkcs12]), certificate[:key])
|
66
66
|
webrick_options[:SSLCertificate] = pkcs12.certificate
|
67
67
|
webrick_options[:SSLPrivateKey] = pkcs12.key
|
@@ -86,7 +86,8 @@ module Aspera
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
# call constructor of parent class, but capture STDERR
|
89
|
-
# self signed certificate generates characters on STDERR
|
89
|
+
# self signed certificate generates characters on STDERR
|
90
|
+
# see create_self_signed_cert in webrick/ssl.rb
|
90
91
|
Log.capture_stderr { super(webrick_options) }
|
91
92
|
end
|
92
93
|
|
data/lib/transfer_pb.rb
ADDED
@@ -0,0 +1,84 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
3
|
+
# source: transfer.proto
|
4
|
+
|
5
|
+
require 'google/protobuf'
|
6
|
+
|
7
|
+
|
8
|
+
descriptor_data = "\n\x0etransfer.proto\x12\x0btransfersdk\"*\n\x05\x45rror\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x05\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"\x13\n\x11\x41PIVersionRequest\"/\n\x12\x41PIVersionResponse\x12\x19\n\x11supportedVersions\x18\x01 \x03(\t\"\x8f\x01\n\rRetryStrategy\x12\x30\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32\x1f.transfersdk.BasicRetryStrategyH\x00\x12?\n\x07\x62\x61\x63koff\x18\x02 \x01(\x0b\x32,.transfersdk.ExponentialBackoffRetryStrategyH\x00\x42\x0b\n\tretryType\"=\n\x12\x42\x61sicRetryStrategy\x12\x10\n\x08maxCount\x18\x01 \x01(\x03\x12\x15\n\rretryInterval\x18\x02 \x01(\x03\"r\n\x1f\x45xponentialBackoffRetryStrategy\x12\x13\n\x0bmaxAttempts\x18\x01 \x01(\x03\x12\x12\n\nmultiplier\x18\x02 \x01(\x03\x12\x14\n\x0cinitialDelay\x18\x03 \x01(\x03\x12\x10\n\x08maxDelay\x18\x04 \x01(\x03\"\x97\x01\n\x0eTransferConfig\x12)\n\x05retry\x18\x01 \x01(\x0b\x32\x1a.transfersdk.RetryStrategy\x12\x0f\n\x07license\x18\x02 \x01(\t\x12\x10\n\x08localLog\x18\x03 \x01(\t\x12\x11\n\tremoteLog\x18\x04 \x01(\t\x12\x10\n\x08logLevel\x18\x05 \x01(\x0f\x12\x12\n\nasperaConf\x18\x06 \x01(\t\"/\n\rTransferRange\x12\x0e\n\x06offset\x18\x01 \x01(\x03\x12\x0e\n\x06length\x18\x02 \x01(\x03\"\x85\x01\n\x0fTransferRequest\x12/\n\x0ctransferType\x18\x01 \x01(\x0e\x32\x19.transfersdk.TransferType\x12+\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x1b.transfersdk.TransferConfig\x12\x14\n\x0ctransferSpec\x18\x03 \x01(\t\"\xcf\x01\n\x15StartTransferResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12/\n\x0ctransferType\x18\x04 \x01(\x0e\x32\x19.transfersdk.TransferType\x12+\n\x06status\x18\x05 \x01(\x0e\x32\x1b.transfersdk.TransferStatus\x12!\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x12.transfersdk.Error\")\n\x13TransferInfoRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\"\xb5\x03\n\x10TransferResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12/\n\x0ctransferType\x18\x04 \x01(\x0e\x32\x19.transfersdk.TransferType\x12+\n\x06status\x18\x05 \x01(\x0e\x32\x1b.transfersdk.TransferStatus\x12!\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x12.transfersdk.Error\x12\x31\n\rtransferEvent\x18\x07 \x01(\x0e\x32\x1a.transfersdk.TransferEvent\x12/\n\x0ctransferInfo\x18\x08 \x01(\x0b\x32\x19.transfersdk.TransferInfo\x12\x0f\n\x07message\x18\t \x01(\t\x12<\n\x0bsessionInfo\x18\n \x01(\x0b\x32\'.transfersdk.SessionTransferInformation\x12\x36\n\x08\x66ileInfo\x18\x0b \x01(\x0b\x32$.transfersdk.FileTransferInformation\"\x91\x02\n\x15QueryTransferResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12\r\n\x05title\x18\x03 \x01(\t\x12/\n\x0ctransferType\x18\x04 \x01(\x0e\x32\x19.transfersdk.TransferType\x12+\n\x06status\x18\x05 \x01(\x0e\x32\x1b.transfersdk.TransferStatus\x12!\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x12.transfersdk.Error\x12/\n\x0ctransferInfo\x18\x07 \x01(\x0b\x32\x19.transfersdk.TransferInfo\x12\x0f\n\x07message\x18\x08 \x01(\t\"\x8f\x04\n\x0cTransferInfo\x12\x17\n\x0f\x61verageRateKbps\x18\x01 \x01(\x03\x12\x11\n\tbytesLost\x18\x02 \x01(\x03\x12\x18\n\x10\x62ytesTransferred\x18\x03 \x01(\x03\x12\x14\n\x0c\x62ytesWritten\x18\x04 \x01(\x03\x12\x1c\n\x14\x64irectoriesCompleted\x18\x05 \x01(\x03\x12\x15\n\rstartTimeUsec\x18\x06 \x01(\x03\x12\x13\n\x0b\x65lapsedUsec\x18\x07 \x01(\x03\x12\x13\n\x0b\x65ndTimeUsec\x18\x08 \x01(\x03\x12\x11\n\terrorCode\x18\t \x01(\t\x12\x18\n\x10\x65rrorDescription\x18\n \x01(\t\x12\x16\n\x0e\x66ilesCompleted\x18\x0b \x01(\x03\x12\x16\n\x0etargetRateKbps\x18\x0c \x01(\x03\x12\x13\n\x0bminRateKbps\x18\r \x01(\x03\x12\x1d\n\x15\x61rgTransfersAttempted\x18\x0e \x01(\x03\x12\x1a\n\x12\x61rgTransfersPassed\x18\x0f \x01(\x03\x12\x1b\n\x13\x61rgTransfersSkipped\x18\x10 \x01(\x03\x12\x1a\n\x12\x61rgTransfersFailed\x18\x11 \x01(\x03\x12\x18\n\x10\x66ileChecksumType\x18\x12 \x01(\t\x12\x0e\n\x06\x63ookie\x18\x13 \x01(\t\x12\x11\n\tdirection\x18\x14 \x01(\t\x12\x11\n\toperation\x18\x15 \x01(\t\x12\x0e\n\x06tags64\x18\x16 \x01(\t\"\xfe\x11\n\x1aSessionTransferInformation\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0c\n\x04user\x18\x03 \x01(\t\x12\x12\n\nclientUser\x18\x04 \x01(\t\x12\x14\n\x0c\x63lientNodeId\x18\x05 \x01(\t\x12\x17\n\x0f\x63lientClusterId\x18\x06 \x01(\t\x12\x14\n\x0cserverNodeId\x18\x07 \x01(\t\x12\x17\n\x0fserverClusterId\x18\x08 \x01(\t\x12\x17\n\x0f\x63lientIPAddress\x18\t \x01(\t\x12\x17\n\x0fserverIPAddress\x18\n \x01(\t\x12\x0c\n\x04port\x18\x0b \x01(\x03\x12\x0f\n\x07tcpPort\x18\x0c \x01(\x03\x12\x0e\n\x06status\x18\r \x01(\t\x12\x15\n\rstartTimeUsec\x18\x0e \x01(\x03\x12\x13\n\x0b\x65ndTimeUsec\x18\x0f \x01(\x03\x12\x13\n\x0b\x65lapsedUsec\x18\x10 \x01(\x03\x12\x18\n\x10\x62ytesTransferred\x18\x11 \x01(\x03\x12\x14\n\x0c\x62ytesWritten\x18\x12 \x01(\x03\x12\x11\n\tbytesLost\x18\x13 \x01(\x03\x12\x16\n\x0e\x66ilesCompleted\x18\x14 \x01(\x03\x12\x13\n\x0b\x66ilesFailed\x18\x15 \x01(\x03\x12\x14\n\x0c\x66ilesSkipped\x18\x16 \x01(\x03\x12\x1c\n\x14\x64irectoriesCompleted\x18\x17 \x01(\x03\x12\x16\n\x0etargetRateKbps\x18\x18 \x01(\x03\x12\x13\n\x0bminRateKbps\x18\x19 \x01(\x03\x12\x14\n\x0c\x63\x61lcRateKbps\x18\x1a \x01(\x03\x12\x18\n\x10networkDelayUsec\x18\x1b \x01(\x03\x12\x11\n\terrorCode\x18\x1c \x01(\x03\x12\x11\n\terrorDesc\x18\x1d \x01(\t\x12\x18\n\x10manifestFilePath\x18\x1e \x01(\t\x12\x1f\n\x17sourcePathsScanExcluded\x18\x1f \x01(\x03\x12 \n\x18sourcePathsScanIrregular\x18 \x01(\x03\x12\x1d\n\x15sourcePathsScanFailed\x18! \x01(\x03\x12 \n\x18sourcePathsScanAttempted\x18\" \x01(\x03\x12\x18\n\x10transfersSkipped\x18# \x01(\x03\x12\x17\n\x0ftransfersPassed\x18$ \x01(\x03\x12\x17\n\x0ftransfersFailed\x18% \x01(\x03\x12\x1a\n\x12transfersAttempted\x18& \x01(\x03\x12\x0e\n\x06\x63ookie\x18\' \x01(\t\x12\x11\n\tdirection\x18( \x01(\t\x12\x18\n\x10\x66ileChecksumType\x18) \x01(\t\x12\x11\n\toperation\x18* \x01(\t\x12\x0c\n\x04tags\x18+ \x01(\t\x12\x1d\n\x15\x61rgTransfersAttempted\x18, \x01(\x03\x12\x1a\n\x12\x61rgTransfersPassed\x18- \x01(\x03\x12\x1b\n\x13\x61rgTransfersSkipped\x18. \x01(\x03\x12\x1a\n\x12\x61rgTransfersFailed\x18/ \x01(\x03\x12\x12\n\nencryption\x18\x30 \x01(\t\x12\x10\n\x08\x61\x64\x61ptive\x18\x31 \x01(\t\x12\x0e\n\x06remote\x18\x32 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x33 \x01(\t\x12\x10\n\x08priority\x18\x34 \x01(\x03\x12\x12\n\ntransferId\x18\x35 \x01(\t\x12\x0f\n\x07rateCap\x18\x36 \x01(\x03\x12\x12\n\nminRateCap\x18\x37 \x01(\x03\x12\x11\n\tpolicyCap\x18\x38 \x01(\t\x12\x10\n\x08rateLock\x18\x39 \x01(\t\x12\x13\n\x0bminRateLock\x18: \x01(\t\x12\x12\n\npolicyLock\x18; \x01(\t\x12\x16\n\x0eserverHostname\x18< \x01(\t\x12\x15\n\rremoteAddress\x18= \x01(\t\x12\x0e\n\x06\x63ipher\x18> \x01(\t\x12\x14\n\x0cresumePolicy\x18? \x01(\t\x12\x14\n\x0c\x63reatePolicy\x18@ \x01(\x03\x12\x16\n\x0emanifestPolicy\x18\x41 \x01(\t\x12\x0f\n\x07precalc\x18\x42 \x01(\t\x12\x17\n\x0foverwritePolicy\x18\x43 \x01(\t\x12\x16\n\x0erttAutocorrect\x18\x44 \x01(\t\x12\x12\n\ntimePolicy\x18\x45 \x01(\x03\x12\x1a\n\x12manifestInprogress\x18\x46 \x01(\t\x12\x14\n\x0c\x66ilesEncrypt\x18G \x01(\t\x12\x14\n\x0c\x66ilesDecrypt\x18H \x01(\t\x12\x14\n\x0c\x64\x61tagramSize\x18I \x01(\x03\x12\x14\n\x0cvLinkVersion\x18J \x01(\x03\x12\x18\n\x10peerVLinkVersion\x18K \x01(\x03\x12\x19\n\x11vLinkLocalEnabled\x18L \x01(\t\x12\x1a\n\x12vLinkRemoteEnabled\x18M \x01(\t\x12\x15\n\rreadBlockSize\x18N \x01(\x03\x12\x16\n\x0ewriteBlockSize\x18O \x01(\x03\x12\x17\n\x0f\x63lusterNumNodes\x18P \x01(\x03\x12\x15\n\rclusterNodeId\x18Q \x01(\x03\x12\x11\n\tmoveRange\x18R \x01(\t\x12\x11\n\tkeepalive\x18S \x01(\t\x12\x11\n\ttestLogin\x18T \x01(\t\x12\x10\n\x08useProxy\x18U \x01(\t\x12\x1c\n\x14rateControlAlgorithm\x18V \x01(\t\x12\x0c\n\x04pmtu\x18W \x01(\x03\x12\x18\n\x10preTransferFiles\x18X \x01(\x03\x12\x18\n\x10preTransferBytes\x18Y \x01(\x03\x12\x17\n\x0fpreTransferDirs\x18Z \x01(\x03\x12\x1a\n\x12preTransferSpecial\x18[ \x01(\x03\x12 \n\x18sourcePathsScanCompleted\x18\\ \x01(\x03\x12\x19\n\x11\x61rgScansAttempted\x18] \x01(\x03\x12\x19\n\x11\x61rgScansCompleted\x18^ \x01(\x03\x12\x1b\n\x13\x61rgFaspFileArgIndex\x18_ \x01(\x03\x12\x1b\n\x13\x64irCreatesAttempted\x18` \x01(\x03\x12\x18\n\x10\x64irCreatesFailed\x18\x61 \x01(\x03\x12\x18\n\x10\x64irCreatesPassed\x18\x62 \x01(\x03\x12\x19\n\x11\x64irScansCompleted\x18\x63 \x01(\x03\"\xdb\x02\n\x17\x46ileTransferInformation\x12\x0e\n\x06\x66ileId\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x15\n\rstartTimeUsec\x18\x03 \x01(\x03\x12\x13\n\x0b\x65lapsedUsec\x18\x04 \x01(\x03\x12\x0e\n\x06status\x18\x05 \x01(\t\x12\x11\n\terrorCode\x18\x06 \x01(\x03\x12\x18\n\x10\x65rrorDescription\x18\x07 \x01(\t\x12\x0c\n\x04size\x18\t \x01(\x03\x12\x10\n\x08\x66ileType\x18\n \x01(\t\x12\x18\n\x10\x66ileChecksumType\x18\x0b \x01(\t\x12\x10\n\x08\x63hecksum\x18\x0c \x01(\t\x12\x11\n\tstartByte\x18\r \x01(\x03\x12\x14\n\x0c\x62ytesWritten\x18\x0e \x01(\x03\x12\x17\n\x0f\x62ytesContiguous\x18\x0f \x01(\x03\x12\x11\n\tsessionId\x18\x10 \x01(\t\x12\x18\n\x10\x66\x61spFileArgIndex\x18\x11 \x01(\x03\"G\n\x1bTransferModificationRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\x12\x14\n\x0ctransferSpec\x18\x02 \x01(\t\"\x96\x01\n\x1cTransferModificationResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12+\n\x06status\x18\x03 \x01(\x0e\x32\x1b.transfersdk.TransferStatus\x12!\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.transfersdk.Error\"Z\n\x13TransferPathRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\x12/\n\x0ctransferPath\x18\x02 \x03(\x0b\x32\x19.transfersdk.TransferPath\"^\n\x0cTransferPath\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\t\x12)\n\x05range\x18\x03 \x01(\x0b\x32\x1a.transfersdk.TransferRange\"a\n\x14TransferPathResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.transfersdk.Error\"3\n\x1dLockPersistentTransferRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\"k\n\x1eLockPersistentTransferResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.transfersdk.Error\"[\n\x13RegistrationRequest\x12\x12\n\ntransferId\x18\x01 \x03(\t\x12\x30\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x1f.transfersdk.RegistrationFilter\"\xc0\x02\n\x12RegistrationFilter\x12\x39\n\x08operator\x18\x01 \x01(\x0e\x32\'.transfersdk.RegistrationFilterOperator\x12-\n\teventType\x18\x02 \x03(\x0e\x32\x1a.transfersdk.TransferEvent\x12\x12\n\ntransferId\x18\x03 \x03(\t\x12\x0e\n\x06\x63ookie\x18\x04 \x03(\t\x12\x0e\n\x06tags64\x18\x05 \x03(\t\x12\x11\n\tdirection\x18\x06 \x01(\t\x12\x13\n\x0b\x63ookieRegex\x18\x07 \x01(\t\x12/\n\x0ctransferType\x18\x08 \x03(\x0e\x32\x19.transfersdk.TransferType\x12\x33\n\x0etransferStatus\x18\t \x03(\x0e\x32\x1b.transfersdk.TransferStatus\"8\n\x13StopTransferRequest\x12\x12\n\ntransferId\x18\x01 \x03(\t\x12\r\n\x05\x64\x65lay\x18\x02 \x01(\x03\"U\n\x14StopTransferResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12)\n\nstopResult\x18\x02 \x03(\x0b\x32\x15.transfersdk.StopInfo\"R\n\x08StopInfo\x12\x12\n\ntransferId\x18\x01 \x01(\t\x12\x0f\n\x07stopped\x18\x02 \x01(\x08\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.transfersdk.Error\"\x15\n\x13InstanceInfoRequest\"v\n\x14InstanceInfoResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\'\n\x04info\x18\x02 \x01(\x0b\x32\x19.transfersdk.InstanceInfo\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.transfersdk.Error\"\x9b\x01\n\x0cInstanceInfo\x12\x16\n\x0emanagementPort\x18\x01 \x01(\x03\x12+\n\nasperaInfo\x18\x02 \x03(\x0b\x32\x17.transfersdk.AsperaInfo\x12-\n\x0blicenseInfo\x18\x03 \x01(\x0b\x32\x18.transfersdk.LicenseInfo\x12\x17\n\x0fpromiscuousMode\x18\x04 \x01(\x08\"]\n\x0bLicenseInfo\x12\x0f\n\x07maxRate\x18\x01 \x01(\t\x12\x15\n\raccountNumber\x18\x02 \x01(\t\x12\x15\n\rlicenseNumber\x18\x03 \x01(\t\x12\x0f\n\x07license\x18\x04 \x01(\t\"u\n\nAsperaInfo\x12\x14\n\x0c\x61speraBinary\x18\x01 \x01(\t\x12\x15\n\rasperaVersion\x18\x02 \x01(\t\x12\x17\n\x0foperatingSystem\x18\x03 \x01(\t\x12!\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x12.transfersdk.Error\"(\n\x10PeerCheckRequest\x12\x14\n\x0ctransferSpec\x18\x01 \x01(\t\"]\n\x11PeerCheckResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x11\n\treachable\x18\x02 \x01(\x08\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.transfersdk.Error\"\x89\x01\n\x17WriteStreamChunkRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12)\n\x05range\x18\x03 \x01(\x0b\x32\x1a.transfersdk.TransferRange\x12!\n\x05\x63hunk\x18\x04 \x01(\x0b\x32\x12.transfersdk.Chunk\"e\n\x18WriteStreamChunkResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.transfersdk.Error\"g\n\x12WriteStreamRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12!\n\x05\x63hunk\x18\x04 \x01(\x0b\x32\x12.transfersdk.Chunk\"`\n\x13WriteStreamResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x12\n\ntransferId\x18\x02 \x01(\t\x12!\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x12.transfersdk.Error\"\'\n\x11ReadStreamRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\"\x8e\x01\n\x12ReadStreamResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\x0c\n\x04path\x18\x02 \x01(\t\x12\x10\n\x08pathSize\x18\x03 \x01(\x03\x12!\n\x05\x63hunk\x18\x04 \x01(\x0b\x32\x12.transfersdk.Chunk\x12!\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.transfersdk.Error\"\x19\n\x05\x43hunk\x12\x10\n\x08\x63ontents\x18\x01 \x01(\x0c\"Z\n\x11ValidationRequest\x12\x14\n\x0ctransferSpec\x18\x01 \x01(\t\x12/\n\x0ctransferType\x18\x02 \x01(\x0e\x32\x19.transfersdk.TransferType\"\x8a\x01\n\x12ValidationResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x18\n\x10validatorVersion\x18\x03 \x01(\t\x12\x14\n\x0cunknownField\x18\x04 \x03(\t\x12!\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x12.transfersdk.Error\"\xbf\x0e\n\x0eTransferSpecV1\x12\x0e\n\x06\x63ipher\x18\x01 \x01(\t\x12\x1a\n\x12\x63ontent_protection\x18\x02 \x01(\t\x12#\n\x1b\x63ontent_protection_password\x18\x03 \x01(\t\x12\x0e\n\x06\x63ookie\x18\x04 \x01(\t\x12\x12\n\ncreate_dir\x18\x05 \x01(\x08\x12\x1e\n\x16\x64\x65lete_before_transfer\x18\x06 \x01(\x08\x12\x15\n\rdelete_source\x18\x07 \x01(\x08\x12\x1b\n\x13\x64\x65stination_root_id\x18\x08 \x01(\t\x12\x11\n\tdirection\x18\t \x01(\t\x12\x1a\n\x12\x65xclude_newer_than\x18\n \x01(\t\x12\x1a\n\x12\x65xclude_older_than\x18\x0b \x01(\t\x12\x11\n\tfasp_port\x18\x0c \x01(\x03\x12\x15\n\rhttp_fallback\x18\r \x01(\x08\x12\x1a\n\x12http_fallback_port\x18\x0e \x01(\x03\x12\x1b\n\x13https_fallback_port\x18\x0f \x01(\x03\x12\x1b\n\x13move_after_transfer\x18\x10 \x01(\t\x12\x15\n\rmulti_session\x18\x11 \x01(\x03\x12\x1f\n\x17multi_session_threshold\x18\x12 \x01(\x03\x12\x11\n\toverwrite\x18\x13 \x01(\t\x12 \n\x05paths\x18\x14 \x03(\x0b\x32\x11.transfersdk.Path\x12\x1d\n\x15precalculate_job_size\x18\x15 \x01(\x08\x12\x1c\n\x14preserve_access_time\x18\x16 \x01(\x08\x12\x1e\n\x16preserve_creation_time\x18\x17 \x01(\x08\x12\"\n\x1apreserve_modification_time\x18\x18 \x01(\x08\x12\x16\n\x0epreserve_times\x18\x19 \x01(\x08\x12\x13\n\x0brate_policy\x18\x1a \x01(\t\x12\x19\n\x11remote_access_key\x18\x1b \x01(\t\x12\x13\n\x0bremote_host\x18\x1c \x01(\t\x12\x17\n\x0fremote_password\x18\x1d \x01(\t\x12\x13\n\x0bremote_user\x18\x1e \x01(\t\x12\x1d\n\x15remove_after_transfer\x18\x1f \x01(\x08\x12 \n\x18remove_empty_directories\x18 \x01(\x08\x12\x15\n\rresume_policy\x18! \x01(\t\x12\x16\n\x0eretry_duration\x18\" \x01(\x03\x12\x16\n\x0esource_root_id\x18# \x01(\t\x12\x10\n\x08ssh_port\x18$ \x01(\x03\x12\x17\n\x0fssh_private_key\x18% \x01(\t\x12\"\n\x1assh_private_key_passphrase\x18& \x01(\t\x12\x16\n\x0esymlink_policy\x18\' \x01(\t\x12\x0c\n\x04tags\x18( \x01(\t\x12\x0e\n\x06tags64\x18) \x01(\t\x12\x1c\n\x14target_rate_cap_kbps\x18* \x01(\x03\x12\x18\n\x10target_rate_kbps\x18+ \x01(\x03\x12\r\n\x05title\x18, \x01(\t\x12\r\n\x05token\x18- \x01(\t\x12\x11\n\tuse_ascp4\x18. \x01(\x08\x12*\n\nfasp_proxy\x18/ \x01(\x0b\x32\x16.transfersdk.FASPProxy\x12\x18\n\x10\x64\x65stination_root\x18\x30 \x01(\t\x12\x13\n\x0bsource_root\x18\x31 \x01(\t\x12\x19\n\x11min_rate_cap_kbps\x18\x32 \x01(\x03\x12\x18\n\x10lock_rate_policy\x18\x33 \x01(\x08\x12\x1d\n\x15lock_target_rate_kbps\x18\x34 \x01(\x08\x12\x1a\n\x12lock_min_rate_kbps\x18\x35 \x01(\x08\x12\x12\n\nsrc_base64\x18\x36 \x01(\t\x12#\n\x04icos\x18\x37 \x01(\x0b\x32\x15.transfersdk.ICOSSpec\x12*\n\x08node_api\x18\x38 \x01(\x0b\x32\x18.transfersdk.NodeAPISpec\x12\x1b\n\x13\x61pply_local_docroot\x18\x39 \x01(\x08\x12\x15\n\rpreserve_acls\x18: \x01(\t\x12\x1c\n\x14preserve_remote_acls\x18; \x01(\t\x12\x1f\n\x17preserve_file_owner_uid\x18< \x01(\x08\x12\x1f\n\x17preserve_file_owner_gid\x18= \x01(\x08\x12\x1f\n\x17preserve_extended_attrs\x18> \x01(\t\x12&\n\x1epreserve_remote_extended_attrs\x18? \x01(\t\x12#\n\x1bpreserve_source_access_time\x18@ \x01(\x08\x12\x1f\n\x17remove_empty_source_dir\x18\x41 \x01(\x08\x12\x1d\n\x15save_before_overwrite\x18\x42 \x01(\x08\x12\x1c\n\x14skip_duplicate_check\x18\x43 \x01(\x08\x12\x1a\n\x12skip_special_files\x18\x44 \x01(\x08\"+\n\x04Path\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\t\"<\n\tFASPProxy\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x10\n\x08username\x18\x02 \x01(\t\x12\x10\n\x08password\x18\x03 \x01(\t\"\xcc\x02\n\x0eTransferSpecV2\x12\x33\n\x12session_initiation\x18\x01 \x01(\x0b\x32\x17.transfersdk.Initiation\x12\'\n\x08security\x18\x02 \x01(\x0b\x32\x15.transfersdk.Security\x12\'\n\x08tracking\x18\x03 \x01(\x0b\x32\x15.transfersdk.Tracking\x12,\n\x0b\x66ile_system\x18\x04 \x01(\x0b\x32\x17.transfersdk.Filesystem\x12)\n\ttransport\x18\x05 \x01(\x0b\x32\x16.transfersdk.Transport\x12#\n\x06\x61ssets\x18\x06 \x01(\x0b\x32\x13.transfersdk.Assets\x12\x11\n\tdirection\x18\x07 \x01(\t\x12\x13\n\x0bremote_host\x18\x08 \x01(\t\x12\r\n\x05title\x18\t \x01(\t\"\x80\x01\n\nInitiation\x12!\n\x03ssh\x18\x01 \x01(\x0b\x32\x14.transfersdk.SSHSpec\x12#\n\x04icos\x18\x02 \x01(\x0b\x32\x15.transfersdk.ICOSSpec\x12*\n\x08node_api\x18\x03 \x01(\x0b\x32\x18.transfersdk.NodeAPISpec\"\x9f\x01\n\x07SSHSpec\x12\x10\n\x08ssh_port\x18\x01 \x01(\x03\x12\x17\n\x0fremote_password\x18\x02 \x01(\t\x12\x13\n\x0bremote_user\x18\x03 \x01(\t\x12\x17\n\x0fssh_private_key\x18\x04 \x01(\t\x12\"\n\x1assh_private_key_passphrase\x18\x05 \x01(\t\x12\x17\n\x0fssh_fingerprint\x18\x06 \x01(\t\"j\n\x08ICOSSpec\x12\x0f\n\x07\x61pi_key\x18\x01 \x01(\t\x12\x0e\n\x06\x62ucket\x18\x02 \x01(\t\x12\x1f\n\x17ibm_service_instance_id\x18\x03 \x01(\t\x12\x1c\n\x14ibm_service_endpoint\x18\x04 \x01(\t\"/\n\x11NodeAPIHeaderSpec\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"K\n\x0bNodeAPISpec\x12\x0b\n\x03url\x18\x01 \x01(\t\x12/\n\x07headers\x18\x02 \x03(\x0b\x32\x1e.transfersdk.NodeAPIHeaderSpec\"i\n\x08Security\x12#\n\x1b\x63ontent_protection_password\x18\x01 \x01(\t\x12\x19\n\x11remote_access_key\x18\x02 \x01(\t\x12\r\n\x05token\x18\x03 \x01(\t\x12\x0e\n\x06\x63ipher\x18\x04 \x01(\t\"8\n\x08Tracking\x12\x0e\n\x06\x63ookie\x18\x01 \x01(\t\x12\x0c\n\x04tags\x18\x02 \x01(\t\x12\x0e\n\x06tags64\x18\x03 \x01(\t\"\xc4\x07\n\nFilesystem\x12\x12\n\ncreate_dir\x18\x01 \x01(\x08\x12\x1e\n\x16\x64\x65lete_before_transfer\x18\x02 \x01(\x08\x12\x1a\n\x12\x65xclude_newer_than\x18\x03 \x01(\t\x12\x1a\n\x12\x65xclude_older_than\x18\x04 \x01(\t\x12\x1b\n\x13move_after_transfer\x18\x05 \x01(\t\x12\x11\n\toverwrite\x18\x06 \x01(\t\x12\x1d\n\x15precalculate_job_size\x18\x07 \x01(\x08\x12\x1c\n\x14preserve_access_time\x18\x08 \x01(\x08\x12\x1e\n\x16preserve_creation_time\x18\t \x01(\x08\x12\"\n\x1apreserve_modification_time\x18\n \x01(\x08\x12\x16\n\x0epreserve_times\x18\x0b \x01(\x08\x12\x1d\n\x15remove_after_transfer\x18\x0c \x01(\x08\x12 \n\x18remove_empty_directories\x18\r \x01(\x08\x12\x15\n\rresume_policy\x18\x0e \x01(\t\x12\x16\n\x0esymlink_policy\x18\x0f \x01(\t\x12\x15\n\rchecksum_type\x18\x10 \x01(\t\x12\x12\n\nsrc_base64\x18\x11 \x01(\t\x12\x34\n\x12inclusion_patterns\x18\x12 \x03(\x0b\x32\x18.transfersdk.PathPattern\x12\x34\n\x12\x65xclusion_patterns\x18\x13 \x03(\x0b\x32\x18.transfersdk.PathPattern\x12\x1b\n\x13\x61pply_local_docroot\x18\x14 \x01(\x08\x12\x15\n\rpreserve_acls\x18\x15 \x01(\t\x12\x1c\n\x14preserve_remote_acls\x18\x16 \x01(\t\x12\x1f\n\x17preserve_file_owner_uid\x18\x17 \x01(\x08\x12\x1f\n\x17preserve_file_owner_gid\x18\x18 \x01(\x08\x12\x1f\n\x17preserve_extended_attrs\x18\x19 \x01(\t\x12&\n\x1epreserve_remote_extended_attrs\x18\x1a \x01(\t\x12#\n\x1bpreserve_source_access_time\x18\x1b \x01(\x08\x12\x1f\n\x17remove_empty_source_dir\x18\x1c \x01(\x08\x12\x1d\n\x15save_before_overwrite\x18\x1d \x01(\x08\x12\x1c\n\x14skip_duplicate_check\x18\x1e \x01(\x08\x12\x1a\n\x12skip_special_files\x18\x1f \x01(\x08\"\xe1\x03\n\tTransport\x12\x11\n\tfasp_port\x18\x01 \x01(\x03\x12\x30\n\rhttp_fallback\x18\x02 \x01(\x0b\x32\x19.transfersdk.HTTPFallback\x12*\n\nfasp_proxy\x18\x03 \x01(\x0b\x32\x16.transfersdk.FASPProxy\x12)\n\tstreaming\x18\x04 \x01(\x0b\x32\x16.transfersdk.Streaming\x12\x30\n\rmulti_session\x18\x05 \x01(\x0b\x32\x19.transfersdk.MultiSession\x12\x1f\n\x17multi_session_threshold\x18\x06 \x01(\x03\x12\x13\n\x0brate_policy\x18\x07 \x01(\t\x12\x18\n\x10lock_rate_policy\x18\x08 \x01(\x08\x12\x1c\n\x14target_rate_cap_kbps\x18\t \x01(\x03\x12\x18\n\x10target_rate_kbps\x18\n \x01(\x03\x12\x19\n\x11min_rate_cap_kbps\x18\x0b \x01(\x03\x12\x15\n\rmin_rate_kbps\x18\x0c \x01(\x03\x12\x1d\n\x15lock_target_rate_kbps\x18\r \x01(\x08\x12\x1a\n\x12lock_min_rate_kbps\x18\x0e \x01(\x08\x12\x11\n\tuse_ascp4\x18\x0f \x01(\x08\"\x8e\x01\n\x06\x41ssets\x12\x1b\n\x13\x64\x65stination_root_id\x18\x01 \x01(\t\x12\x16\n\x0esource_root_id\x18\x02 \x01(\t\x12\x18\n\x10\x64\x65stination_root\x18\x03 \x01(\t\x12\x13\n\x0bsource_root\x18\x04 \x01(\t\x12 \n\x05paths\x18\x05 \x03(\x0b\x32\x11.transfersdk.Path\"\x1e\n\x0bPathPattern\x12\x0f\n\x07pattern\x18\x01 \x01(\t\"+\n\x0cHTTPFallback\x12\x0c\n\x04port\x18\x01 \x01(\x03\x12\r\n\x05proxy\x18\x02 \x01(\t\"\x90\x01\n\tStreaming\x12\x12\n\nchunk_size\x18\x01 \x01(\x03\x12\x14\n\x0clocal_memory\x18\x02 \x01(\x03\x12\x15\n\rremote_memory\x18\x03 \x01(\x03\x12\x13\n\x0bsparse_file\x18\x04 \x01(\x08\x12-\n\x0b\x63ompression\x18\x05 \x01(\x0b\x32\x18.transfersdk.Compression\"+\n\x0b\x43ompression\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0c\n\x04hint\x18\x02 \x01(\x05\"\xe0\x01\n\x0cMultiSession\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\x12\x1a\n\x12number_of_sessions\x18\x02 \x01(\x05\x12-\n\x05hosts\x18\x03 \x01(\x0b\x32\x1e.transfersdk.MultiSessionHosts\x12>\n\x0e\x66ile_splitting\x18\x04 \x01(\x0b\x32&.transfersdk.MultiSessionFileSplitting\x12\x35\n\tbandwidth\x18\x05 \x01(\x0b\x32\".transfersdk.MultiSessionBandwidth\"2\n\x11MultiSessionHosts\x12\x0e\n\x06usedns\x18\x01 \x01(\x08\x12\r\n\x05hosts\x18\x02 \x03(\t\"6\n\x19MultiSessionFileSplitting\x12\x19\n\x11size_kb_threshold\x18\x01 \x01(\x05\"9\n\x15MultiSessionBandwidth\x12 \n\x18\x62\x61ndwidth_kpbs_threshold\x18\x01 \x01(\x05*\xd3\x01\n\x0cTransferType\x12\x19\n\x15UNKNOWN_TRANSFER_TYPE\x10\x00\x12\x10\n\x0c\x46ILE_REGULAR\x10\x01\x12\x13\n\x0f\x46ILE_PERSISTENT\x10\x02\x12\x18\n\x14URL_STREAM_TO_STREAM\x10\x03\x12\x1b\n\x17\x46ILE_TO_STREAM_DOWNLOAD\x10\x04\x12\x19\n\x15STREAM_TO_FILE_UPLOAD\x10\x05\x12\x1c\n\x18PERSISTENT_STREAM_UPLOAD\x10\x06\x12\x11\n\rASYNC_SESSION\x10\x07*\x80\x01\n\x0eTransferStatus\x12\x12\n\x0eUNKNOWN_STATUS\x10\x00\x12\n\n\x06QUEUED\x10\x01\x12\x0b\n\x07RUNNING\x10\x02\x12\r\n\tCOMPLETED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04\x12\x0c\n\x08\x43\x41NCELED\x10\x05\x12\n\n\x06PAUSED\x10\x06\x12\x0c\n\x08ORPHANED\x10\x07*\x8c\x02\n\rTransferEvent\x12\x11\n\rUNKNOWN_EVENT\x10\x00\x12\x11\n\rSESSION_START\x10\x01\x12\x10\n\x0cSESSION_STOP\x10\x02\x12\x11\n\rSESSION_ERROR\x10\x03\x12\x0e\n\nFILE_START\x10\x04\x12\r\n\tFILE_STOP\x10\x05\x12\x0e\n\nFILE_ERROR\x10\x06\x12\x0c\n\x08\x41RG_STOP\x10\x07\x12\x0c\n\x08PROGRESS\x10\x08\x12\x0e\n\nCONNECTING\x10\t\x12\x15\n\x11RATE_MODIFICATION\x10\n\x12\r\n\tFILE_SKIP\x10\x0b\x12\x19\n\x15\x42\x41NDWIDTH_MEASUREMENT\x10\x0c\x12\x14\n\x10SESSION_CANCELED\x10\r*-\n\x1aRegistrationFilterOperator\x12\x06\n\x02OR\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x32\xdc\n\n\x0fTransferService\x12M\n\x08Validate\x12\x1e.transfersdk.ValidationRequest\x1a\x1f.transfersdk.ValidationResponse\"\x00\x12S\n\rStartTransfer\x12\x1c.transfersdk.TransferRequest\x1a\".transfersdk.StartTransferResponse\"\x00\x12[\n\x18StartTransferWithMonitor\x12\x1c.transfersdk.TransferRequest\x1a\x1d.transfersdk.TransferResponse\"\x00\x30\x01\x12W\n\rQueryTransfer\x12 .transfersdk.TransferInfoRequest\x1a\".transfersdk.QueryTransferResponse\"\x00\x12g\n\x0eModifyTransfer\x12(.transfersdk.TransferModificationRequest\x1a).transfersdk.TransferModificationResponse\"\x00\x12Y\n\x10\x41\x64\x64TransferPaths\x12 .transfersdk.TransferPathRequest\x1a!.transfersdk.TransferPathResponse\"\x00\x12s\n\x16LockPersistentTransfer\x12*.transfersdk.LockPersistentTransferRequest\x1a+.transfersdk.LockPersistentTransferResponse\"\x00\x12U\n\x0cStopTransfer\x12 .transfersdk.StopTransferRequest\x1a!.transfersdk.StopTransferResponse\"\x00\x12W\n\x10MonitorTransfers\x12 .transfersdk.RegistrationRequest\x1a\x1d.transfersdk.TransferResponse\"\x00\x30\x01\x12R\n\rGetAPIVersion\x12\x1e.transfersdk.APIVersionRequest\x1a\x1f.transfersdk.APIVersionResponse\"\x00\x12P\n\x07GetInfo\x12 .transfersdk.InstanceInfoRequest\x1a!.transfersdk.InstanceInfoResponse\"\x00\x12R\n\x0fIsPeerReachable\x12\x1d.transfersdk.PeerCheckRequest\x1a\x1e.transfersdk.PeerCheckResponse\"\x00\x12\x63\n\x10WriteStreamChunk\x12$.transfersdk.WriteStreamChunkRequest\x1a%.transfersdk.WriteStreamChunkResponse\"\x00(\x01\x12T\n\x0bWriteStream\x12\x1f.transfersdk.WriteStreamRequest\x1a .transfersdk.WriteStreamResponse\"\x00(\x01\x12Q\n\nReadStream\x12\x1e.transfersdk.ReadStreamRequest\x1a\x1f.transfersdk.ReadStreamResponse\"\x00\x30\x01\x42\x38\n\x1aibm.aspera.transferserviceZ\x1aibm.com/aspera/transfersdkb\x06proto3"
|
9
|
+
|
10
|
+
pool = Google::Protobuf::DescriptorPool.generated_pool
|
11
|
+
pool.add_serialized_file(descriptor_data)
|
12
|
+
|
13
|
+
module Transfersdk
|
14
|
+
Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Error").msgclass
|
15
|
+
APIVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.APIVersionRequest").msgclass
|
16
|
+
APIVersionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.APIVersionResponse").msgclass
|
17
|
+
RetryStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.RetryStrategy").msgclass
|
18
|
+
BasicRetryStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.BasicRetryStrategy").msgclass
|
19
|
+
ExponentialBackoffRetryStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.ExponentialBackoffRetryStrategy").msgclass
|
20
|
+
TransferConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferConfig").msgclass
|
21
|
+
TransferRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferRange").msgclass
|
22
|
+
TransferRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferRequest").msgclass
|
23
|
+
StartTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.StartTransferResponse").msgclass
|
24
|
+
TransferInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferInfoRequest").msgclass
|
25
|
+
TransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferResponse").msgclass
|
26
|
+
QueryTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.QueryTransferResponse").msgclass
|
27
|
+
TransferInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferInfo").msgclass
|
28
|
+
SessionTransferInformation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.SessionTransferInformation").msgclass
|
29
|
+
FileTransferInformation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.FileTransferInformation").msgclass
|
30
|
+
TransferModificationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferModificationRequest").msgclass
|
31
|
+
TransferModificationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferModificationResponse").msgclass
|
32
|
+
TransferPathRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferPathRequest").msgclass
|
33
|
+
TransferPath = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferPath").msgclass
|
34
|
+
TransferPathResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferPathResponse").msgclass
|
35
|
+
LockPersistentTransferRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.LockPersistentTransferRequest").msgclass
|
36
|
+
LockPersistentTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.LockPersistentTransferResponse").msgclass
|
37
|
+
RegistrationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.RegistrationRequest").msgclass
|
38
|
+
RegistrationFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.RegistrationFilter").msgclass
|
39
|
+
StopTransferRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.StopTransferRequest").msgclass
|
40
|
+
StopTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.StopTransferResponse").msgclass
|
41
|
+
StopInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.StopInfo").msgclass
|
42
|
+
InstanceInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.InstanceInfoRequest").msgclass
|
43
|
+
InstanceInfoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.InstanceInfoResponse").msgclass
|
44
|
+
InstanceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.InstanceInfo").msgclass
|
45
|
+
LicenseInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.LicenseInfo").msgclass
|
46
|
+
AsperaInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.AsperaInfo").msgclass
|
47
|
+
PeerCheckRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.PeerCheckRequest").msgclass
|
48
|
+
PeerCheckResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.PeerCheckResponse").msgclass
|
49
|
+
WriteStreamChunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.WriteStreamChunkRequest").msgclass
|
50
|
+
WriteStreamChunkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.WriteStreamChunkResponse").msgclass
|
51
|
+
WriteStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.WriteStreamRequest").msgclass
|
52
|
+
WriteStreamResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.WriteStreamResponse").msgclass
|
53
|
+
ReadStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.ReadStreamRequest").msgclass
|
54
|
+
ReadStreamResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.ReadStreamResponse").msgclass
|
55
|
+
Chunk = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Chunk").msgclass
|
56
|
+
ValidationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.ValidationRequest").msgclass
|
57
|
+
ValidationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.ValidationResponse").msgclass
|
58
|
+
TransferSpecV1 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferSpecV1").msgclass
|
59
|
+
Path = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Path").msgclass
|
60
|
+
FASPProxy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.FASPProxy").msgclass
|
61
|
+
TransferSpecV2 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferSpecV2").msgclass
|
62
|
+
Initiation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Initiation").msgclass
|
63
|
+
SSHSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.SSHSpec").msgclass
|
64
|
+
ICOSSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.ICOSSpec").msgclass
|
65
|
+
NodeAPIHeaderSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.NodeAPIHeaderSpec").msgclass
|
66
|
+
NodeAPISpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.NodeAPISpec").msgclass
|
67
|
+
Security = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Security").msgclass
|
68
|
+
Tracking = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Tracking").msgclass
|
69
|
+
Filesystem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Filesystem").msgclass
|
70
|
+
Transport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Transport").msgclass
|
71
|
+
Assets = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Assets").msgclass
|
72
|
+
PathPattern = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.PathPattern").msgclass
|
73
|
+
HTTPFallback = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.HTTPFallback").msgclass
|
74
|
+
Streaming = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Streaming").msgclass
|
75
|
+
Compression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.Compression").msgclass
|
76
|
+
MultiSession = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.MultiSession").msgclass
|
77
|
+
MultiSessionHosts = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.MultiSessionHosts").msgclass
|
78
|
+
MultiSessionFileSplitting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.MultiSessionFileSplitting").msgclass
|
79
|
+
MultiSessionBandwidth = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.MultiSessionBandwidth").msgclass
|
80
|
+
TransferType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferType").enummodule
|
81
|
+
TransferStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferStatus").enummodule
|
82
|
+
TransferEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.TransferEvent").enummodule
|
83
|
+
RegistrationFilterOperator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transfersdk.RegistrationFilterOperator").enummodule
|
84
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
2
|
+
# Source: transfer.proto for package 'transfersdk'
|
3
|
+
|
4
|
+
require 'grpc'
|
5
|
+
require 'transfer_pb'
|
6
|
+
|
7
|
+
module Transfersdk
|
8
|
+
module TransferService
|
9
|
+
#
|
10
|
+
# Transfer service definition. This service enables users to start, manage and monitor transfers.
|
11
|
+
# You can also get information about the transfer service settings and confirm the availability of
|
12
|
+
# communication between the engine and a remote transfer server.
|
13
|
+
class Service
|
14
|
+
|
15
|
+
include ::GRPC::GenericService
|
16
|
+
|
17
|
+
self.marshal_class_method = :encode
|
18
|
+
self.unmarshal_class_method = :decode
|
19
|
+
self.service_name = 'transfersdk.TransferService'
|
20
|
+
|
21
|
+
#
|
22
|
+
# Validate accepts a transfer spec string and a transfer type, and returns the validation result.
|
23
|
+
rpc :Validate, ::Transfersdk::ValidationRequest, ::Transfersdk::ValidationResponse
|
24
|
+
#
|
25
|
+
# StartTransfer starts a new transfer and returns the transfer information required to manage and monitor the transfer.
|
26
|
+
# This request doesn't close until the transfer is terminated or the request is canceled by the client.
|
27
|
+
rpc :StartTransfer, ::Transfersdk::TransferRequest, ::Transfersdk::StartTransferResponse
|
28
|
+
#
|
29
|
+
# StartTransferWithMonitor starts a new transfer and streams back the transfer events.
|
30
|
+
# The request doesn't return immediately, as it continues streaming responses to the client until the transfer is terminated or the request is canceled
|
31
|
+
# by the client.
|
32
|
+
rpc :StartTransferWithMonitor, ::Transfersdk::TransferRequest, stream(::Transfersdk::TransferResponse)
|
33
|
+
#
|
34
|
+
# QueryTransfer requests transfer data.
|
35
|
+
rpc :QueryTransfer, ::Transfersdk::TransferInfoRequest, ::Transfersdk::QueryTransferResponse
|
36
|
+
#
|
37
|
+
# ModifyTransfer modifies an existing transfer.
|
38
|
+
rpc :ModifyTransfer, ::Transfersdk::TransferModificationRequest, ::Transfersdk::TransferModificationResponse
|
39
|
+
#
|
40
|
+
# AddTransferPaths can be used with persistent transfer to add paths to an existing transfer.
|
41
|
+
# (type TransferType.FILE_PERSISTENT).
|
42
|
+
rpc :AddTransferPaths, ::Transfersdk::TransferPathRequest, ::Transfersdk::TransferPathResponse
|
43
|
+
#
|
44
|
+
# LockPersistentTransfer, used with persistent transfer, marks an existing persistent transfer as done.
|
45
|
+
# Once the method is called, any subsequent call to AddTransferPaths results in an error.
|
46
|
+
# (type TransferType.FILE_PERSISTENT).
|
47
|
+
rpc :LockPersistentTransfer, ::Transfersdk::LockPersistentTransferRequest, ::Transfersdk::LockPersistentTransferResponse
|
48
|
+
#
|
49
|
+
# StopTransfer stops a transfer.
|
50
|
+
rpc :StopTransfer, ::Transfersdk::StopTransferRequest, ::Transfersdk::StopTransferResponse
|
51
|
+
#
|
52
|
+
# MonitorTransfers monitors transfers matching the defined filters and streams back the transfer events.
|
53
|
+
# The request doesn't return an immediate response because MonitorTransfers continues streaming
|
54
|
+
# responses to the client until the client cancels the request.
|
55
|
+
rpc :MonitorTransfers, ::Transfersdk::RegistrationRequest, stream(::Transfersdk::TransferResponse)
|
56
|
+
#
|
57
|
+
# GetAPIVersion gets the API version.
|
58
|
+
rpc :GetAPIVersion, ::Transfersdk::APIVersionRequest, ::Transfersdk::APIVersionResponse
|
59
|
+
#
|
60
|
+
# GetInfo gets data about the Transfer SDK service instance.
|
61
|
+
rpc :GetInfo, ::Transfersdk::InstanceInfoRequest, ::Transfersdk::InstanceInfoResponse
|
62
|
+
#
|
63
|
+
# IsPeerReachable confirms whether or not the peer endpoint is reachable.
|
64
|
+
rpc :IsPeerReachable, ::Transfersdk::PeerCheckRequest, ::Transfersdk::PeerCheckResponse
|
65
|
+
#
|
66
|
+
# WriteStreamChunk writes chunks of streaming data for the specified in-progress
|
67
|
+
# transfer of type PERSISTENT_STREAM_UPLOAD, at a specific offset.
|
68
|
+
# When StopTransfer is called on the transfer, subsequent calls to this function will fail.
|
69
|
+
rpc :WriteStreamChunk, stream(::Transfersdk::WriteStreamChunkRequest), ::Transfersdk::WriteStreamChunkResponse
|
70
|
+
#
|
71
|
+
# WriteStream writes chunks of streaming data for the specified in-progress transfer of type STREAM_TO_FILE_UPLOAD.
|
72
|
+
# Once StopTransfer is called on the transfer, subsequent calls to this function will fail.
|
73
|
+
rpc :WriteStream, stream(::Transfersdk::WriteStreamRequest), ::Transfersdk::WriteStreamResponse
|
74
|
+
#
|
75
|
+
# ReadStream reads chunks of streaming data from a specified in-progress transfer of type FILE_TO_STREAM_DOWNLOAD.
|
76
|
+
# Once StopTransfer is called on this transfer, subsequent calls to this function will fail.
|
77
|
+
rpc :ReadStream, ::Transfersdk::ReadStreamRequest, stream(::Transfersdk::ReadStreamResponse)
|
78
|
+
end
|
79
|
+
|
80
|
+
Stub = Service.rpc_stub_class
|
81
|
+
end
|
82
|
+
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aspera-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.20.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laurent Martin
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
@@ -37,7 +37,7 @@ cert_chain:
|
|
37
37
|
eTf9kxhVM40wGQOECVNA8UsEEZHD48eF+csUYZtAJOF5oxTI8UyV9T/o6CgO0c9/
|
38
38
|
Gzz+Qm5ULOUcPiJLjSpaiTrkiIVYiDGnqNSr6R1Hb1c=
|
39
39
|
-----END CERTIFICATE-----
|
40
|
-
date:
|
40
|
+
date: 2025-01-21 00:00:00.000000000 Z
|
41
41
|
dependencies:
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: blankslate
|
@@ -249,6 +249,20 @@ dependencies:
|
|
249
249
|
- - "~>"
|
250
250
|
- !ruby/object:Gem::Version
|
251
251
|
version: '1.0'
|
252
|
+
- !ruby/object:Gem::Dependency
|
253
|
+
name: grpc-tools
|
254
|
+
requirement: !ruby/object:Gem::Requirement
|
255
|
+
requirements:
|
256
|
+
- - "~>"
|
257
|
+
- !ruby/object:Gem::Version
|
258
|
+
version: 1.67.0
|
259
|
+
type: :development
|
260
|
+
prerelease: false
|
261
|
+
version_requirements: !ruby/object:Gem::Requirement
|
262
|
+
requirements:
|
263
|
+
- - "~>"
|
264
|
+
- !ruby/object:Gem::Version
|
265
|
+
version: 1.67.0
|
252
266
|
- !ruby/object:Gem::Dependency
|
253
267
|
name: rake
|
254
268
|
requirement: !ruby/object:Gem::Requirement
|
@@ -391,8 +405,10 @@ files:
|
|
391
405
|
- bin/ascli
|
392
406
|
- bin/asession
|
393
407
|
- examples/build_exec
|
408
|
+
- examples/build_exec_rubyc
|
394
409
|
- examples/build_package.sh
|
395
410
|
- examples/dascli
|
411
|
+
- examples/get_proto_file.rb
|
396
412
|
- examples/proxy.pac
|
397
413
|
- lib/aspera/agent/alpha.rb
|
398
414
|
- lib/aspera/agent/base.rb
|
@@ -401,6 +417,7 @@ files:
|
|
401
417
|
- lib/aspera/agent/httpgw.rb
|
402
418
|
- lib/aspera/agent/node.rb
|
403
419
|
- lib/aspera/agent/trsdk.rb
|
420
|
+
- lib/aspera/api/alee.rb
|
404
421
|
- lib/aspera/api/aoc.rb
|
405
422
|
- lib/aspera/api/ats.rb
|
406
423
|
- lib/aspera/api/cos_node.rb
|
@@ -501,6 +518,8 @@ files:
|
|
501
518
|
- lib/aspera/uri_reader.rb
|
502
519
|
- lib/aspera/web_auth.rb
|
503
520
|
- lib/aspera/web_server_simple.rb
|
521
|
+
- lib/transfer_pb.rb
|
522
|
+
- lib/transfer_services_pb.rb
|
504
523
|
homepage: https://github.com/IBM/aspera-cli
|
505
524
|
licenses:
|
506
525
|
- Apache-2.0
|
@@ -511,7 +530,7 @@ metadata:
|
|
511
530
|
changelog_uri: https://github.com/IBM/aspera-cli/CHANGELOG.md
|
512
531
|
rubygems_uri: https://rubygems.org/gems/aspera-cli
|
513
532
|
documentation_uri: https://www.rubydoc.info/gems/aspera-cli
|
514
|
-
post_install_message:
|
533
|
+
post_install_message:
|
515
534
|
rdoc_options: []
|
516
535
|
require_paths:
|
517
536
|
- lib
|
@@ -528,7 +547,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
528
547
|
requirements:
|
529
548
|
- Read the manual for any requirement
|
530
549
|
rubygems_version: 3.4.19
|
531
|
-
signing_key:
|
550
|
+
signing_key:
|
532
551
|
specification_version: 4
|
533
552
|
summary: 'Execute actions using command line on IBM Aspera Server products: Aspera
|
534
553
|
on Cloud, Faspex, Shares, Node, Console, Orchestrator, High Speed Transfer Server'
|
metadata.gz.sig
CHANGED
Binary file
|