aspera-cli 4.20.0 → 4.21.1

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 (58) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +29 -3
  4. data/CONTRIBUTING.md +2 -0
  5. data/README.md +571 -375
  6. data/bin/asession +2 -2
  7. data/examples/get_proto_file.rb +1 -1
  8. data/lib/aspera/agent/alpha.rb +10 -16
  9. data/lib/aspera/agent/connect.rb +20 -2
  10. data/lib/aspera/agent/direct.rb +21 -30
  11. data/lib/aspera/agent/node.rb +1 -11
  12. data/lib/aspera/agent/{trsdk.rb → transferd.rb} +13 -34
  13. data/lib/aspera/api/aoc.rb +13 -8
  14. data/lib/aspera/api/node.rb +45 -28
  15. data/lib/aspera/ascp/installation.rb +87 -48
  16. data/lib/aspera/ascp/management.rb +27 -6
  17. data/lib/aspera/cli/formatter.rb +148 -154
  18. data/lib/aspera/cli/info.rb +1 -1
  19. data/lib/aspera/cli/main.rb +12 -0
  20. data/lib/aspera/cli/manager.rb +2 -2
  21. data/lib/aspera/cli/plugin.rb +2 -2
  22. data/lib/aspera/cli/plugins/aoc.rb +28 -18
  23. data/lib/aspera/cli/plugins/config.rb +106 -54
  24. data/lib/aspera/cli/plugins/cos.rb +1 -0
  25. data/lib/aspera/cli/plugins/faspex.rb +4 -2
  26. data/lib/aspera/cli/plugins/faspex5.rb +21 -9
  27. data/lib/aspera/cli/plugins/node.rb +45 -38
  28. data/lib/aspera/cli/transfer_progress.rb +2 -0
  29. data/lib/aspera/cli/version.rb +1 -1
  30. data/lib/aspera/command_line_builder.rb +1 -1
  31. data/lib/aspera/environment.rb +48 -14
  32. data/lib/aspera/node_simulator.rb +230 -112
  33. data/lib/aspera/oauth/base.rb +34 -47
  34. data/lib/aspera/oauth/factory.rb +41 -2
  35. data/lib/aspera/oauth/jwt.rb +4 -1
  36. data/lib/aspera/persistency_action_once.rb +1 -1
  37. data/lib/aspera/persistency_folder.rb +20 -2
  38. data/lib/aspera/preview/generator.rb +1 -1
  39. data/lib/aspera/preview/utils.rb +8 -3
  40. data/lib/aspera/products/alpha.rb +30 -0
  41. data/lib/aspera/products/connect.rb +48 -0
  42. data/lib/aspera/products/other.rb +82 -0
  43. data/lib/aspera/products/transferd.rb +54 -0
  44. data/lib/aspera/rest.rb +18 -13
  45. data/lib/aspera/secret_hider.rb +2 -2
  46. data/lib/aspera/ssh.rb +31 -24
  47. data/lib/aspera/transfer/parameters.rb +2 -1
  48. data/lib/aspera/transfer/spec.yaml +22 -20
  49. data/lib/aspera/transfer/sync.rb +1 -5
  50. data/lib/aspera/transfer/uri.rb +2 -2
  51. data/lib/transferd_pb.rb +86 -0
  52. data/lib/transferd_services_pb.rb +84 -0
  53. data.tar.gz.sig +0 -0
  54. metadata +38 -21
  55. metadata.gz.sig +0 -0
  56. data/lib/aspera/ascp/products.rb +0 -168
  57. data/lib/transfer_pb.rb +0 -84
  58. data/lib/transfer_services_pb.rb +0 -82
@@ -1,13 +1,13 @@
1
- # desc : description
2
- # accepted_types : accepted types for non-enum
3
- # default : default value if not specified
4
- # enum : set with list of values for enum types accepted in transfer spec
5
- # agents : supported agents (for doc only), if not specified: all
6
- # required : optional, default: false
7
- # cli.type : ascp: type of parameter, one of CLI_OPTION_TYPES
8
- # cli.switch : ascp: switch for ascp command line
9
- # cli.convert : ascp: transform value: either a Hash with conversion values, or name of class
10
- # cli.variable : ascp: name of env var
1
+ # desc [String] description
2
+ # accepted_types [Symbol, Array(Symbol)] accepted types for non-enum
3
+ # default [String] default value if not specified
4
+ # enum [Array] set with list of values for enum types accepted in transfer spec
5
+ # agents [Array] supported agents (for doc only), if not specified: all
6
+ # required [bool] optional, default: false
7
+ # cli.type [Symbol] ascp: type of parameter, one of CLI_OPTION_TYPES (opt_without_arg opt_with_arg special ignore envvar)
8
+ # cli.switch [String] ascp: switch for ascp command line
9
+ # cli.convert [String] ascp: transform value: either a Hash with conversion values, or name of class
10
+ # cli.variable [String] ascp: name of env var
11
11
  # cspell:words dgram dnat dnats faspmgr asperanoded xattrs keepalive datagram
12
12
  ---
13
13
  cipher:
@@ -102,17 +102,13 @@ direction:
102
102
  receive: recv
103
103
  send: send
104
104
  exclude_newer_than:
105
- :desc: skip src files with mtime > arg
106
- :accepted_types: :int
107
- :agents:
108
- - :direct
105
+ :desc: Exclude files, but not directories, from the transfer if they are newer than the specified number of seconds added to the source computer's epoch. e.g. "-86400" for newer than a day back.
106
+ :accepted_types: :string
109
107
  :cli:
110
108
  :type: :opt_with_arg
111
109
  exclude_older_than:
112
- :desc: skip src files with mtime < arg
113
- :accepted_types: :int
114
- :agents:
115
- - :direct
110
+ :desc: Exclude files, but not directories, from the transfer if they are older than the specified number of seconds added to the source computer's epoch. e.g. "-86400" for older than a day back.
111
+ :accepted_types: :string
116
112
  :cli:
117
113
  :type: :opt_with_arg
118
114
  fasp_port:
@@ -213,7 +209,6 @@ password:
213
209
  Windows only, node api only.
214
210
 
215
211
 
216
- :required: false
217
212
  :accepted_types: :string
218
213
  :agents:
219
214
  - :node
@@ -419,7 +414,7 @@ symlink_policy:
419
414
  :type: :opt_with_arg
420
415
  :switch: "--symbolic-links"
421
416
  tags:
422
- :desc: Metadata for transfer as JSON
417
+ :desc: Metadata for transfer as JSON. Key `aspera` is reserved. Key `aspera.xfer_retry` specified a retry timeout for node api initiated transfers.
423
418
  :accepted_types: :hash
424
419
  :cli:
425
420
  :type: :opt_with_arg
@@ -714,3 +709,10 @@ write_threads:
714
709
  - :unknown
715
710
  :cli:
716
711
  :type: :ignore
712
+ xfer_max_retries:
713
+ :desc: maximum number of retries, for node API initiated transfers. Shall not exceed aspera.conf `transfer_manager_max_retries` (default 5).
714
+ :accepted_types: :int
715
+ :agents:
716
+ - :node
717
+ :cli:
718
+ :type: :ignore
@@ -210,11 +210,7 @@ module Aspera
210
210
  session_builder.process_params
211
211
  session_builder.add_env_args(env_args)
212
212
  end
213
- async_exec = Ascp::Installation.instance.path(:async)
214
- Process.wait(Environment.secure_spawn(env: env_args[:env], exec: async_exec, args: env_args[:args]))
215
- if $CHILD_STATUS.exitstatus != 0
216
- raise "Sync failed with exit: #{$CHILD_STATUS.exitstatus}"
217
- end
213
+ Environment.secure_execute(exec: Ascp::Installation.instance.path(:async), **env_args)
218
214
  else
219
215
  raise 'At least one of `local` or `sessions` must be present in async parameters'
220
216
  end
@@ -44,8 +44,8 @@ module Aspera
44
44
  when 'lockpolicy' then result_ts['lock_rate_policy'] = CommandLineBuilder.yes_to_true(value)
45
45
  when 'lockminrate' then result_ts['lock_min_rate'] = CommandLineBuilder.yes_to_true(value)
46
46
  when 'auth' then Log.log.debug{"ignoring #{name}=#{value}"} # Not used (yes/no)
47
- when 'v' then Log.log.debug{"ignoring #{name}=#{value}"} # rubocop:disable Lint/DuplicateBranch Not used (shall be 2)
48
- when 'protect' then Log.log.debug{"ignoring #{name}=#{value}"} # rubocop:disable Lint/DuplicateBranch TODO: what is this ?
47
+ when 'v' then Log.log.debug{"ignoring #{name}=#{value}"} # rubocop:disable Lint/DuplicateBranch -- Not used (shall be 2)
48
+ when 'protect' then Log.log.debug{"ignoring #{name}=#{value}"} # rubocop:disable Lint/DuplicateBranch -- TODO: what is this ?
49
49
  else Log.log.warn{"URI parameter ignored: #{name} = #{value}"}
50
50
  end
51
51
  end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: transferd.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+
8
+ descriptor_data = "\n\x0ftransferd.proto\x12\rtransferd.api\"*\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\"\x93\x01\n\rRetryStrategy\x12\x32\n\x05\x62\x61sic\x18\x01 \x01(\x0b\x32!.transferd.api.BasicRetryStrategyH\x00\x12\x41\n\x07\x62\x61\x63koff\x18\x02 \x01(\x0b\x32..transferd.api.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\"\x99\x01\n\x0eTransferConfig\x12+\n\x05retry\x18\x01 \x01(\x0b\x32\x1c.transferd.api.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\"\x89\x01\n\x0fTransferRequest\x12\x31\n\x0ctransferType\x18\x01 \x01(\x0e\x32\x1b.transferd.api.TransferType\x12-\n\x06\x63onfig\x18\x02 \x01(\x0b\x32\x1d.transferd.api.TransferConfig\x12\x14\n\x0ctransferSpec\x18\x03 \x01(\t\"\xd5\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\x31\n\x0ctransferType\x18\x04 \x01(\x0e\x32\x1b.transferd.api.TransferType\x12-\n\x06status\x18\x05 \x01(\x0e\x32\x1d.transferd.api.TransferStatus\x12#\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x14.transferd.api.Error\")\n\x13TransferInfoRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\"\xc3\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\x31\n\x0ctransferType\x18\x04 \x01(\x0e\x32\x1b.transferd.api.TransferType\x12-\n\x06status\x18\x05 \x01(\x0e\x32\x1d.transferd.api.TransferStatus\x12#\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x14.transferd.api.Error\x12\x33\n\rtransferEvent\x18\x07 \x01(\x0e\x32\x1c.transferd.api.TransferEvent\x12\x31\n\x0ctransferInfo\x18\x08 \x01(\x0b\x32\x1b.transferd.api.TransferInfo\x12\x0f\n\x07message\x18\t \x01(\t\x12>\n\x0bsessionInfo\x18\n \x01(\x0b\x32).transferd.api.SessionTransferInformation\x12\x38\n\x08\x66ileInfo\x18\x0b \x01(\x0b\x32&.transferd.api.FileTransferInformation\"\x99\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\x31\n\x0ctransferType\x18\x04 \x01(\x0e\x32\x1b.transferd.api.TransferType\x12-\n\x06status\x18\x05 \x01(\x0e\x32\x1d.transferd.api.TransferStatus\x12#\n\x05\x65rror\x18\x06 \x01(\x0b\x32\x14.transferd.api.Error\x12\x31\n\x0ctransferInfo\x18\x07 \x01(\x0b\x32\x1b.transferd.api.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\"\x9a\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\x1d.transferd.api.TransferStatus\x12#\n\x05\x65rror\x18\x04 \x01(\x0b\x32\x14.transferd.api.Error\"\\\n\x13TransferPathRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\x12\x31\n\x0ctransferPath\x18\x02 \x03(\x0b\x32\x1b.transferd.api.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\x1c.transferd.api.TransferRange\"c\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\x14.transferd.api.Error\"3\n\x1dLockPersistentTransferRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\"m\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\x14.transferd.api.Error\"]\n\x13RegistrationRequest\x12\x12\n\ntransferId\x18\x01 \x03(\t\x12\x32\n\x07\x66ilters\x18\x02 \x03(\x0b\x32!.transferd.api.RegistrationFilter\"\xc8\x02\n\x12RegistrationFilter\x12;\n\x08operator\x18\x01 \x01(\x0e\x32).transferd.api.RegistrationFilterOperator\x12/\n\teventType\x18\x02 \x03(\x0e\x32\x1c.transferd.api.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\x31\n\x0ctransferType\x18\x08 \x03(\x0e\x32\x1b.transferd.api.TransferType\x12\x35\n\x0etransferStatus\x18\t \x03(\x0e\x32\x1d.transferd.api.TransferStatus\"8\n\x13StopTransferRequest\x12\x12\n\ntransferId\x18\x01 \x03(\t\x12\r\n\x05\x64\x65lay\x18\x02 \x01(\x03\"W\n\x14StopTransferResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12+\n\nstopResult\x18\x02 \x03(\x0b\x32\x17.transferd.api.StopInfo\"T\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\x14.transferd.api.Error\"\x15\n\x13InstanceInfoRequest\"z\n\x14InstanceInfoResponse\x12\x12\n\napiVersion\x18\x01 \x01(\t\x12)\n\x04info\x18\x02 \x01(\x0b\x32\x1b.transferd.api.InstanceInfo\x12#\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x14.transferd.api.Error\"\x9f\x01\n\x0cInstanceInfo\x12\x16\n\x0emanagementPort\x18\x01 \x01(\x03\x12-\n\nasperaInfo\x18\x02 \x03(\x0b\x32\x19.transferd.api.AsperaInfo\x12/\n\x0blicenseInfo\x18\x03 \x01(\x0b\x32\x1a.transferd.api.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\"w\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\x14.transferd.api.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\x14.transferd.api.Error\"\x8d\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\x1c.transferd.api.TransferRange\x12#\n\x05\x63hunk\x18\x04 \x01(\x0b\x32\x14.transferd.api.Chunk\"g\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\x14.transferd.api.Error\"i\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\x14.transferd.api.Chunk\"b\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\x14.transferd.api.Error\"\'\n\x11ReadStreamRequest\x12\x12\n\ntransferId\x18\x01 \x01(\t\"\x92\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\x14.transferd.api.Chunk\x12#\n\x05\x65rror\x18\x05 \x01(\x0b\x32\x14.transferd.api.Error\"\x19\n\x05\x43hunk\x12\x10\n\x08\x63ontents\x18\x01 \x01(\x0c\"\\\n\x11ValidationRequest\x12\x14\n\x0ctransferSpec\x18\x01 \x01(\t\x12\x31\n\x0ctransferType\x18\x02 \x01(\x0e\x32\x1b.transferd.api.TransferType\"\x8c\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\x14.transferd.api.Error\"\xe9\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\x13.transferd.api.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\x15\n\tuse_ascp4\x18. \x01(\x08\x42\x02\x18\x01\x12,\n\nfasp_proxy\x18/ \x01(\x0b\x32\x18.transferd.api.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\x17.transferd.api.ICOSSpec\x12,\n\x08node_api\x18\x38 \x01(\x0b\x32\x1a.transferd.api.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\x12\x1c\n\x14ssh_private_key_path\x18\x45 \x01(\t\"+\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\"\xd8\x02\n\x0eTransferSpecV2\x12\x35\n\x12session_initiation\x18\x01 \x01(\x0b\x32\x19.transferd.api.Initiation\x12)\n\x08security\x18\x02 \x01(\x0b\x32\x17.transferd.api.Security\x12)\n\x08tracking\x18\x03 \x01(\x0b\x32\x17.transferd.api.Tracking\x12.\n\x0b\x66ile_system\x18\x04 \x01(\x0b\x32\x19.transferd.api.Filesystem\x12+\n\ttransport\x18\x05 \x01(\x0b\x32\x18.transferd.api.Transport\x12%\n\x06\x61ssets\x18\x06 \x01(\x0b\x32\x15.transferd.api.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\"\x86\x01\n\nInitiation\x12#\n\x03ssh\x18\x01 \x01(\x0b\x32\x16.transferd.api.SSHSpec\x12%\n\x04icos\x18\x02 \x01(\x0b\x32\x17.transferd.api.ICOSSpec\x12,\n\x08node_api\x18\x03 \x01(\x0b\x32\x1a.transferd.api.NodeAPISpec\"\xbd\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\x12\x1c\n\x14ssh_private_key_path\x18\x07 \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\"M\n\x0bNodeAPISpec\x12\x0b\n\x03url\x18\x01 \x01(\t\x12\x31\n\x07headers\x18\x02 \x03(\x0b\x32 .transferd.api.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\"\xc8\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\x36\n\x12inclusion_patterns\x18\x12 \x03(\x0b\x32\x1a.transferd.api.PathPattern\x12\x36\n\x12\x65xclusion_patterns\x18\x13 \x03(\x0b\x32\x1a.transferd.api.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\"\xed\x03\n\tTransport\x12\x11\n\tfasp_port\x18\x01 \x01(\x03\x12\x32\n\rhttp_fallback\x18\x02 \x01(\x0b\x32\x1b.transferd.api.HTTPFallback\x12,\n\nfasp_proxy\x18\x03 \x01(\x0b\x32\x18.transferd.api.FASPProxy\x12+\n\tstreaming\x18\x04 \x01(\x0b\x32\x18.transferd.api.Streaming\x12\x32\n\rmulti_session\x18\x05 \x01(\x0b\x32\x1b.transferd.api.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\x15\n\tuse_ascp4\x18\x0f \x01(\x08\x42\x02\x18\x01\"\x90\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\x13.transferd.api.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\"\x92\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\x1a.transferd.api.Compression\"+\n\x0b\x43ompression\x12\x0e\n\x06method\x18\x01 \x01(\t\x12\x0c\n\x04hint\x18\x02 \x01(\x05\"\xe6\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 .transferd.api.MultiSessionHosts\x12@\n\x0e\x66ile_splitting\x18\x04 \x01(\x0b\x32(.transferd.api.MultiSessionFileSplitting\x12\x37\n\tbandwidth\x18\x05 \x01(\x0b\x32$.transferd.api.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*\xdb\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\x1c\n\x14URL_STREAM_TO_STREAM\x10\x03\x1a\x02\x08\x01\x12\x1b\n\x17\x46ILE_TO_STREAM_DOWNLOAD\x10\x04\x12\x19\n\x15STREAM_TO_FILE_UPLOAD\x10\x05\x12 \n\x18PERSISTENT_STREAM_UPLOAD\x10\x06\x1a\x02\x08\x01\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\x98\x0b\n\x0fTransferService\x12Q\n\x08Validate\x12 .transferd.api.ValidationRequest\x1a!.transferd.api.ValidationResponse\"\x00\x12W\n\rStartTransfer\x12\x1e.transferd.api.TransferRequest\x1a$.transferd.api.StartTransferResponse\"\x00\x12_\n\x18StartTransferWithMonitor\x12\x1e.transferd.api.TransferRequest\x1a\x1f.transferd.api.TransferResponse\"\x00\x30\x01\x12[\n\rQueryTransfer\x12\".transferd.api.TransferInfoRequest\x1a$.transferd.api.QueryTransferResponse\"\x00\x12k\n\x0eModifyTransfer\x12*.transferd.api.TransferModificationRequest\x1a+.transferd.api.TransferModificationResponse\"\x00\x12]\n\x10\x41\x64\x64TransferPaths\x12\".transferd.api.TransferPathRequest\x1a#.transferd.api.TransferPathResponse\"\x00\x12w\n\x16LockPersistentTransfer\x12,.transferd.api.LockPersistentTransferRequest\x1a-.transferd.api.LockPersistentTransferResponse\"\x00\x12Y\n\x0cStopTransfer\x12\".transferd.api.StopTransferRequest\x1a#.transferd.api.StopTransferResponse\"\x00\x12[\n\x10MonitorTransfers\x12\".transferd.api.RegistrationRequest\x1a\x1f.transferd.api.TransferResponse\"\x00\x30\x01\x12V\n\rGetAPIVersion\x12 .transferd.api.APIVersionRequest\x1a!.transferd.api.APIVersionResponse\"\x00\x12T\n\x07GetInfo\x12\".transferd.api.InstanceInfoRequest\x1a#.transferd.api.InstanceInfoResponse\"\x00\x12V\n\x0fIsPeerReachable\x12\x1f.transferd.api.PeerCheckRequest\x1a .transferd.api.PeerCheckResponse\"\x00\x12g\n\x10WriteStreamChunk\x12&.transferd.api.WriteStreamChunkRequest\x1a\'.transferd.api.WriteStreamChunkResponse\"\x00(\x01\x12X\n\x0bWriteStream\x12!.transferd.api.WriteStreamRequest\x1a\".transferd.api.WriteStreamResponse\"\x00(\x01\x12U\n\nReadStream\x12 .transferd.api.ReadStreamRequest\x1a!.transferd.api.ReadStreamResponse\"\x00\x30\x01\x42\x45\n%com.ibm.software.aspera.transferd.apiZ\x1cibm.com/aspera/transferd/apib\x06proto3"
9
+
10
+ pool = Google::Protobuf::DescriptorPool.generated_pool
11
+ pool.add_serialized_file(descriptor_data)
12
+
13
+ module Transferd
14
+ module Api
15
+ Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Error").msgclass
16
+ APIVersionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.APIVersionRequest").msgclass
17
+ APIVersionResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.APIVersionResponse").msgclass
18
+ RetryStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.RetryStrategy").msgclass
19
+ BasicRetryStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.BasicRetryStrategy").msgclass
20
+ ExponentialBackoffRetryStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.ExponentialBackoffRetryStrategy").msgclass
21
+ TransferConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferConfig").msgclass
22
+ TransferRange = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferRange").msgclass
23
+ TransferRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferRequest").msgclass
24
+ StartTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.StartTransferResponse").msgclass
25
+ TransferInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferInfoRequest").msgclass
26
+ TransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferResponse").msgclass
27
+ QueryTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.QueryTransferResponse").msgclass
28
+ TransferInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferInfo").msgclass
29
+ SessionTransferInformation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.SessionTransferInformation").msgclass
30
+ FileTransferInformation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.FileTransferInformation").msgclass
31
+ TransferModificationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferModificationRequest").msgclass
32
+ TransferModificationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferModificationResponse").msgclass
33
+ TransferPathRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferPathRequest").msgclass
34
+ TransferPath = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferPath").msgclass
35
+ TransferPathResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferPathResponse").msgclass
36
+ LockPersistentTransferRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.LockPersistentTransferRequest").msgclass
37
+ LockPersistentTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.LockPersistentTransferResponse").msgclass
38
+ RegistrationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.RegistrationRequest").msgclass
39
+ RegistrationFilter = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.RegistrationFilter").msgclass
40
+ StopTransferRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.StopTransferRequest").msgclass
41
+ StopTransferResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.StopTransferResponse").msgclass
42
+ StopInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.StopInfo").msgclass
43
+ InstanceInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.InstanceInfoRequest").msgclass
44
+ InstanceInfoResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.InstanceInfoResponse").msgclass
45
+ InstanceInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.InstanceInfo").msgclass
46
+ LicenseInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.LicenseInfo").msgclass
47
+ AsperaInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.AsperaInfo").msgclass
48
+ PeerCheckRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.PeerCheckRequest").msgclass
49
+ PeerCheckResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.PeerCheckResponse").msgclass
50
+ WriteStreamChunkRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.WriteStreamChunkRequest").msgclass
51
+ WriteStreamChunkResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.WriteStreamChunkResponse").msgclass
52
+ WriteStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.WriteStreamRequest").msgclass
53
+ WriteStreamResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.WriteStreamResponse").msgclass
54
+ ReadStreamRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.ReadStreamRequest").msgclass
55
+ ReadStreamResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.ReadStreamResponse").msgclass
56
+ Chunk = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Chunk").msgclass
57
+ ValidationRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.ValidationRequest").msgclass
58
+ ValidationResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.ValidationResponse").msgclass
59
+ TransferSpecV1 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferSpecV1").msgclass
60
+ Path = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Path").msgclass
61
+ FASPProxy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.FASPProxy").msgclass
62
+ TransferSpecV2 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferSpecV2").msgclass
63
+ Initiation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Initiation").msgclass
64
+ SSHSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.SSHSpec").msgclass
65
+ ICOSSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.ICOSSpec").msgclass
66
+ NodeAPIHeaderSpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.NodeAPIHeaderSpec").msgclass
67
+ NodeAPISpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.NodeAPISpec").msgclass
68
+ Security = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Security").msgclass
69
+ Tracking = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Tracking").msgclass
70
+ Filesystem = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Filesystem").msgclass
71
+ Transport = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Transport").msgclass
72
+ Assets = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Assets").msgclass
73
+ PathPattern = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.PathPattern").msgclass
74
+ HTTPFallback = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.HTTPFallback").msgclass
75
+ Streaming = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Streaming").msgclass
76
+ Compression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.Compression").msgclass
77
+ MultiSession = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.MultiSession").msgclass
78
+ MultiSessionHosts = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.MultiSessionHosts").msgclass
79
+ MultiSessionFileSplitting = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.MultiSessionFileSplitting").msgclass
80
+ MultiSessionBandwidth = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.MultiSessionBandwidth").msgclass
81
+ TransferType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferType").enummodule
82
+ TransferStatus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferStatus").enummodule
83
+ TransferEvent = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.TransferEvent").enummodule
84
+ RegistrationFilterOperator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("transferd.api.RegistrationFilterOperator").enummodule
85
+ end
86
+ end
@@ -0,0 +1,84 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: transferd.proto for package 'transferd.api'
3
+
4
+ require 'grpc'
5
+ require 'transferd_pb'
6
+
7
+ module Transferd
8
+ module Api
9
+ module TransferService
10
+ #
11
+ # Transfer service definition. This service enables users to start, manage and monitor transfers.
12
+ # You can also get information about the transfer service settings and confirm the availability of
13
+ # communication between the engine and a remote transfer server.
14
+ class Service
15
+
16
+ include ::GRPC::GenericService
17
+
18
+ self.marshal_class_method = :encode
19
+ self.unmarshal_class_method = :decode
20
+ self.service_name = 'transferd.api.TransferService'
21
+
22
+ #
23
+ # Validate accepts a transfer spec string and a transfer type, and returns the validation result.
24
+ rpc :Validate, ::Transferd::Api::ValidationRequest, ::Transferd::Api::ValidationResponse
25
+ #
26
+ # StartTransfer starts a new transfer and returns the transfer information required to manage and monitor the transfer.
27
+ # This request doesn't close until the transfer is terminated or the request is canceled by the client.
28
+ rpc :StartTransfer, ::Transferd::Api::TransferRequest, ::Transferd::Api::StartTransferResponse
29
+ #
30
+ # StartTransferWithMonitor starts a new transfer and streams back the transfer events.
31
+ # The request doesn't return immediately, as it continues streaming responses to the client until the transfer is terminated or the request is canceled
32
+ # by the client.
33
+ rpc :StartTransferWithMonitor, ::Transferd::Api::TransferRequest, stream(::Transferd::Api::TransferResponse)
34
+ #
35
+ # QueryTransfer requests transfer data.
36
+ rpc :QueryTransfer, ::Transferd::Api::TransferInfoRequest, ::Transferd::Api::QueryTransferResponse
37
+ #
38
+ # ModifyTransfer modifies an existing transfer.
39
+ rpc :ModifyTransfer, ::Transferd::Api::TransferModificationRequest, ::Transferd::Api::TransferModificationResponse
40
+ #
41
+ # AddTransferPaths can be used with persistent transfer to add paths to an existing transfer.
42
+ # (type TransferType.FILE_PERSISTENT).
43
+ rpc :AddTransferPaths, ::Transferd::Api::TransferPathRequest, ::Transferd::Api::TransferPathResponse
44
+ #
45
+ # LockPersistentTransfer, used with persistent transfer, marks an existing persistent transfer as done.
46
+ # Once the method is called, any subsequent call to AddTransferPaths results in an error.
47
+ # (type TransferType.FILE_PERSISTENT).
48
+ rpc :LockPersistentTransfer, ::Transferd::Api::LockPersistentTransferRequest, ::Transferd::Api::LockPersistentTransferResponse
49
+ #
50
+ # StopTransfer stops a transfer.
51
+ rpc :StopTransfer, ::Transferd::Api::StopTransferRequest, ::Transferd::Api::StopTransferResponse
52
+ #
53
+ # MonitorTransfers monitors transfers matching the defined filters and streams back the transfer events.
54
+ # The request doesn't return an immediate response because MonitorTransfers continues streaming
55
+ # responses to the client until the client cancels the request.
56
+ rpc :MonitorTransfers, ::Transferd::Api::RegistrationRequest, stream(::Transferd::Api::TransferResponse)
57
+ #
58
+ # GetAPIVersion gets the API version.
59
+ rpc :GetAPIVersion, ::Transferd::Api::APIVersionRequest, ::Transferd::Api::APIVersionResponse
60
+ #
61
+ # GetInfo gets data about the TransferD service instance.
62
+ rpc :GetInfo, ::Transferd::Api::InstanceInfoRequest, ::Transferd::Api::InstanceInfoResponse
63
+ #
64
+ # IsPeerReachable confirms whether or not the peer endpoint is reachable.
65
+ rpc :IsPeerReachable, ::Transferd::Api::PeerCheckRequest, ::Transferd::Api::PeerCheckResponse
66
+ #
67
+ # WriteStreamChunk writes chunks of streaming data for the specified in-progress
68
+ # transfer of type PERSISTENT_STREAM_UPLOAD, at a specific offset.
69
+ # When StopTransfer is called on the transfer, subsequent calls to this function will fail.
70
+ rpc :WriteStreamChunk, stream(::Transferd::Api::WriteStreamChunkRequest), ::Transferd::Api::WriteStreamChunkResponse
71
+ #
72
+ # WriteStream writes chunks of streaming data for the specified in-progress transfer of type STREAM_TO_FILE_UPLOAD.
73
+ # Once StopTransfer is called on the transfer, subsequent calls to this function will fail.
74
+ rpc :WriteStream, stream(::Transferd::Api::WriteStreamRequest), ::Transferd::Api::WriteStreamResponse
75
+ #
76
+ # ReadStream reads chunks of streaming data from a specified in-progress transfer of type FILE_TO_STREAM_DOWNLOAD.
77
+ # Once StopTransfer is called on this transfer, subsequent calls to this function will fail.
78
+ rpc :ReadStream, ::Transferd::Api::ReadStreamRequest, stream(::Transferd::Api::ReadStreamResponse)
79
+ end
80
+
81
+ Stub = Service.rpc_stub_class
82
+ end
83
+ end
84
+ end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aspera-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.20.0
4
+ version: 4.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Laurent Martin
@@ -37,7 +37,7 @@ cert_chain:
37
37
  eTf9kxhVM40wGQOECVNA8UsEEZHD48eF+csUYZtAJOF5oxTI8UyV9T/o6CgO0c9/
38
38
  Gzz+Qm5ULOUcPiJLjSpaiTrkiIVYiDGnqNSr6R1Hb1c=
39
39
  -----END CERTIFICATE-----
40
- date: 2025-01-21 00:00:00.000000000 Z
40
+ date: 2025-03-14 00:00:00.000000000 Z
41
41
  dependencies:
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: blankslate
@@ -115,70 +115,70 @@ dependencies:
115
115
  requirements:
116
116
  - - "~>"
117
117
  - !ruby/object:Gem::Version
118
- version: '7.0'
118
+ version: '7.3'
119
119
  type: :runtime
120
120
  prerelease: false
121
121
  version_requirements: !ruby/object:Gem::Requirement
122
122
  requirements:
123
123
  - - "~>"
124
124
  - !ruby/object:Gem::Version
125
- version: '7.0'
125
+ version: '7.3'
126
126
  - !ruby/object:Gem::Dependency
127
- name: rainbow
127
+ name: openssl
128
128
  requirement: !ruby/object:Gem::Requirement
129
129
  requirements:
130
130
  - - "~>"
131
131
  - !ruby/object:Gem::Version
132
- version: '3.0'
132
+ version: 3.3.0
133
133
  type: :runtime
134
134
  prerelease: false
135
135
  version_requirements: !ruby/object:Gem::Requirement
136
136
  requirements:
137
137
  - - "~>"
138
138
  - !ruby/object:Gem::Version
139
- version: '3.0'
139
+ version: 3.3.0
140
140
  - !ruby/object:Gem::Dependency
141
- name: ruby-progressbar
141
+ name: rainbow
142
142
  requirement: !ruby/object:Gem::Requirement
143
143
  requirements:
144
144
  - - "~>"
145
145
  - !ruby/object:Gem::Version
146
- version: '1.0'
146
+ version: '3.0'
147
147
  type: :runtime
148
148
  prerelease: false
149
149
  version_requirements: !ruby/object:Gem::Requirement
150
150
  requirements:
151
151
  - - "~>"
152
152
  - !ruby/object:Gem::Version
153
- version: '1.0'
153
+ version: '3.0'
154
154
  - !ruby/object:Gem::Dependency
155
- name: rubyzip
155
+ name: ruby-progressbar
156
156
  requirement: !ruby/object:Gem::Requirement
157
157
  requirements:
158
158
  - - "~>"
159
159
  - !ruby/object:Gem::Version
160
- version: '2.0'
160
+ version: '1.0'
161
161
  type: :runtime
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: '2.0'
167
+ version: '1.0'
168
168
  - !ruby/object:Gem::Dependency
169
- name: symmetric-encryption
169
+ name: rubyzip
170
170
  requirement: !ruby/object:Gem::Requirement
171
171
  requirements:
172
172
  - - "~>"
173
173
  - !ruby/object:Gem::Version
174
- version: '4.6'
174
+ version: '2.0'
175
175
  type: :runtime
176
176
  prerelease: false
177
177
  version_requirements: !ruby/object:Gem::Requirement
178
178
  requirements:
179
179
  - - "~>"
180
180
  - !ruby/object:Gem::Version
181
- version: '4.6'
181
+ version: '2.0'
182
182
  - !ruby/object:Gem::Dependency
183
183
  name: terminal-table
184
184
  requirement: !ruby/object:Gem::Requirement
@@ -361,6 +361,20 @@ dependencies:
361
361
  - - "~>"
362
362
  - !ruby/object:Gem::Version
363
363
  version: '2.0'
364
+ - !ruby/object:Gem::Dependency
365
+ name: ruby-lsp
366
+ requirement: !ruby/object:Gem::Requirement
367
+ requirements:
368
+ - - "~>"
369
+ - !ruby/object:Gem::Version
370
+ version: '0.23'
371
+ type: :development
372
+ prerelease: false
373
+ version_requirements: !ruby/object:Gem::Requirement
374
+ requirements:
375
+ - - "~>"
376
+ - !ruby/object:Gem::Version
377
+ version: '0.23'
364
378
  - !ruby/object:Gem::Dependency
365
379
  name: simplecov
366
380
  requirement: !ruby/object:Gem::Requirement
@@ -416,7 +430,7 @@ files:
416
430
  - lib/aspera/agent/direct.rb
417
431
  - lib/aspera/agent/httpgw.rb
418
432
  - lib/aspera/agent/node.rb
419
- - lib/aspera/agent/trsdk.rb
433
+ - lib/aspera/agent/transferd.rb
420
434
  - lib/aspera/api/alee.rb
421
435
  - lib/aspera/api/aoc.rb
422
436
  - lib/aspera/api/ats.rb
@@ -426,7 +440,6 @@ files:
426
440
  - lib/aspera/ascmd.rb
427
441
  - lib/aspera/ascp/installation.rb
428
442
  - lib/aspera/ascp/management.rb
429
- - lib/aspera/ascp/products.rb
430
443
  - lib/aspera/assert.rb
431
444
  - lib/aspera/cli/basic_auth_plugin.rb
432
445
  - lib/aspera/cli/error.rb
@@ -496,6 +509,10 @@ files:
496
509
  - lib/aspera/preview/terminal.rb
497
510
  - lib/aspera/preview/utils.rb
498
511
  - lib/aspera/preview/video_error.png
512
+ - lib/aspera/products/alpha.rb
513
+ - lib/aspera/products/connect.rb
514
+ - lib/aspera/products/other.rb
515
+ - lib/aspera/products/transferd.rb
499
516
  - lib/aspera/proxy_auto_config.js
500
517
  - lib/aspera/proxy_auto_config.rb
501
518
  - lib/aspera/rest.rb
@@ -518,8 +535,8 @@ files:
518
535
  - lib/aspera/uri_reader.rb
519
536
  - lib/aspera/web_auth.rb
520
537
  - lib/aspera/web_server_simple.rb
521
- - lib/transfer_pb.rb
522
- - lib/transfer_services_pb.rb
538
+ - lib/transferd_pb.rb
539
+ - lib/transferd_services_pb.rb
523
540
  homepage: https://github.com/IBM/aspera-cli
524
541
  licenses:
525
542
  - Apache-2.0
@@ -538,7 +555,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
538
555
  requirements:
539
556
  - - ">="
540
557
  - !ruby/object:Gem::Version
541
- version: '2.6'
558
+ version: '3.1'
542
559
  required_rubygems_version: !ruby/object:Gem::Requirement
543
560
  requirements:
544
561
  - - ">="
metadata.gz.sig CHANGED
Binary file