telestream_cloud 1.1.0 → 2.0.0.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 (306) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -0
  3. data/README.md +16 -354
  4. data/flip/.gitignore +39 -0
  5. data/flip/.rspec +2 -0
  6. data/flip/.swagger-codegen-ignore +23 -0
  7. data/flip/.swagger-codegen/VERSION +1 -0
  8. data/flip/Gemfile +7 -0
  9. data/flip/README.md +130 -0
  10. data/flip/Rakefile +8 -0
  11. data/flip/docs/CanceledResponse.md +8 -0
  12. data/flip/docs/CloudNotificationSettings.md +11 -0
  13. data/flip/docs/CloudNotificationSettingsEvents.md +11 -0
  14. data/flip/docs/CopyProfileBody.md +9 -0
  15. data/flip/docs/CountResponse.md +8 -0
  16. data/flip/docs/CreateEncodingBody.md +10 -0
  17. data/flip/docs/CreateVideoBody.md +12 -0
  18. data/flip/docs/DeletedResponse.md +8 -0
  19. data/flip/docs/Encoding.md +38 -0
  20. data/flip/docs/EncodingSignedUrl.md +8 -0
  21. data/flip/docs/EncodingSignedUrls.md +8 -0
  22. data/flip/docs/Error.md +9 -0
  23. data/flip/docs/ExtraFile.md +10 -0
  24. data/flip/docs/Factory.md +25 -0
  25. data/flip/docs/FactoryBody.md +23 -0
  26. data/flip/docs/FactoryBodyStorageCredentialAttributes.md +11 -0
  27. data/flip/docs/FactorySync.md +8 -0
  28. data/flip/docs/FactorySyncBody.md +8 -0
  29. data/flip/docs/FlipApi.md +2179 -0
  30. data/flip/docs/PaginatedEncodingsCollection.md +11 -0
  31. data/flip/docs/PaginatedFactoryCollection.md +11 -0
  32. data/flip/docs/PaginatedProfilesCollection.md +11 -0
  33. data/flip/docs/PaginatedVideoCollection.md +11 -0
  34. data/flip/docs/PaginatedWorkflowsCollection.md +11 -0
  35. data/flip/docs/Profile.md +135 -0
  36. data/flip/docs/ProfileBody.md +137 -0
  37. data/flip/docs/ResubmitVideoBody.md +8 -0
  38. data/flip/docs/RetriedResponse.md +8 -0
  39. data/flip/docs/SignedVideoUrl.md +8 -0
  40. data/flip/docs/UpdateEncodingBody.md +9 -0
  41. data/flip/docs/UploadSession.md +13 -0
  42. data/flip/docs/Video.md +31 -0
  43. data/flip/docs/VideoMetadata.md +7 -0
  44. data/flip/docs/VideoUploadBody.md +24 -0
  45. data/flip/git_push.sh +55 -0
  46. data/flip/lib/telestream_cloud_flip.rb +79 -0
  47. data/flip/lib/telestream_cloud_flip/api/flip_api.rb +2385 -0
  48. data/flip/lib/telestream_cloud_flip/api_client.rb +389 -0
  49. data/flip/lib/telestream_cloud_flip/api_error.rb +38 -0
  50. data/flip/lib/telestream_cloud_flip/configuration.rb +209 -0
  51. data/flip/lib/telestream_cloud_flip/models/canceled_response.rb +189 -0
  52. data/flip/lib/telestream_cloud_flip/models/cloud_notification_settings.rb +237 -0
  53. data/flip/lib/telestream_cloud_flip/models/cloud_notification_settings_events.rb +239 -0
  54. data/flip/lib/telestream_cloud_flip/models/copy_profile_body.rb +209 -0
  55. data/flip/lib/telestream_cloud_flip/models/count_response.rb +189 -0
  56. data/flip/lib/telestream_cloud_flip/models/create_encoding_body.rb +214 -0
  57. data/flip/lib/telestream_cloud_flip/models/create_video_body.rb +231 -0
  58. data/flip/lib/telestream_cloud_flip/models/deleted_response.rb +189 -0
  59. data/flip/lib/telestream_cloud_flip/models/encoding.rb +486 -0
  60. data/flip/lib/telestream_cloud_flip/models/encoding_signed_url.rb +189 -0
  61. data/flip/lib/telestream_cloud_flip/models/encoding_signed_urls.rb +191 -0
  62. data/flip/lib/telestream_cloud_flip/models/error.rb +199 -0
  63. data/flip/lib/telestream_cloud_flip/models/extra_file.rb +221 -0
  64. data/flip/lib/telestream_cloud_flip/models/factory.rb +388 -0
  65. data/flip/lib/telestream_cloud_flip/models/factory_body.rb +374 -0
  66. data/flip/lib/telestream_cloud_flip/models/factory_body_storage_credential_attributes.rb +215 -0
  67. data/flip/lib/telestream_cloud_flip/models/factory_sync.rb +222 -0
  68. data/flip/lib/telestream_cloud_flip/models/factory_sync_body.rb +227 -0
  69. data/flip/lib/telestream_cloud_flip/models/paginated_encodings_collection.rb +240 -0
  70. data/flip/lib/telestream_cloud_flip/models/paginated_factory_collection.rb +220 -0
  71. data/flip/lib/telestream_cloud_flip/models/paginated_profiles_collection.rb +220 -0
  72. data/flip/lib/telestream_cloud_flip/models/paginated_video_collection.rb +220 -0
  73. data/flip/lib/telestream_cloud_flip/models/paginated_workflows_collection.rb +220 -0
  74. data/flip/lib/telestream_cloud_flip/models/profile.rb +1777 -0
  75. data/flip/lib/telestream_cloud_flip/models/profile_body.rb +1762 -0
  76. data/flip/lib/telestream_cloud_flip/models/resubmit_video_body.rb +189 -0
  77. data/flip/lib/telestream_cloud_flip/models/retried_response.rb +189 -0
  78. data/flip/lib/telestream_cloud_flip/models/signed_video_url.rb +189 -0
  79. data/flip/lib/telestream_cloud_flip/models/update_encoding_body.rb +199 -0
  80. data/flip/lib/telestream_cloud_flip/models/upload_session.rb +249 -0
  81. data/flip/lib/telestream_cloud_flip/models/video.rb +418 -0
  82. data/flip/lib/telestream_cloud_flip/models/video_metadata.rb +179 -0
  83. data/flip/lib/telestream_cloud_flip/models/video_upload_body.rb +362 -0
  84. data/flip/lib/telestream_cloud_flip/uploader.rb +244 -0
  85. data/flip/lib/telestream_cloud_flip/version.rb +18 -0
  86. data/flip/spec/api/flip_api_spec.rb +550 -0
  87. data/flip/spec/api_client_spec.rb +226 -0
  88. data/flip/spec/configuration_spec.rb +42 -0
  89. data/flip/spec/models/canceled_response_spec.rb +42 -0
  90. data/flip/spec/models/cloud_notification_settings_events_spec.rb +60 -0
  91. data/flip/spec/models/cloud_notification_settings_spec.rb +60 -0
  92. data/flip/spec/models/copy_profile_body_spec.rb +48 -0
  93. data/flip/spec/models/count_response_spec.rb +42 -0
  94. data/flip/spec/models/create_encoding_body_spec.rb +54 -0
  95. data/flip/spec/models/create_video_body_spec.rb +66 -0
  96. data/flip/spec/models/deleted_response_spec.rb +42 -0
  97. data/flip/spec/models/encoding_signed_url_spec.rb +42 -0
  98. data/flip/spec/models/encoding_signed_urls_spec.rb +42 -0
  99. data/flip/spec/models/encoding_spec.rb +222 -0
  100. data/flip/spec/models/error_spec.rb +48 -0
  101. data/flip/spec/models/extra_file_spec.rb +54 -0
  102. data/flip/spec/models/factory_body_spec.rb +136 -0
  103. data/flip/spec/models/factory_body_storage_credential_attributes_spec.rb +60 -0
  104. data/flip/spec/models/factory_spec.rb +148 -0
  105. data/flip/spec/models/factory_sync_body_spec.rb +46 -0
  106. data/flip/spec/models/factory_sync_spec.rb +46 -0
  107. data/flip/spec/models/paginated_encodings_collection_spec.rb +60 -0
  108. data/flip/spec/models/paginated_factory_collection_spec.rb +60 -0
  109. data/flip/spec/models/paginated_profiles_collection_spec.rb +60 -0
  110. data/flip/spec/models/paginated_video_collection_spec.rb +60 -0
  111. data/flip/spec/models/paginated_workflows_collection_spec.rb +60 -0
  112. data/flip/spec/models/profile_body_spec.rb +916 -0
  113. data/flip/spec/models/profile_spec.rb +916 -0
  114. data/flip/spec/models/resubmit_video_body_spec.rb +42 -0
  115. data/flip/spec/models/retried_response_spec.rb +42 -0
  116. data/flip/spec/models/signed_video_url_spec.rb +42 -0
  117. data/flip/spec/models/update_encoding_body_spec.rb +48 -0
  118. data/flip/spec/models/upload_session_spec.rb +72 -0
  119. data/flip/spec/models/video_metadata_spec.rb +36 -0
  120. data/flip/spec/models/video_spec.rb +180 -0
  121. data/flip/spec/models/video_upload_body_spec.rb +138 -0
  122. data/flip/spec/spec_helper.rb +111 -0
  123. data/flip/telestream_cloud_flip.gemspec +47 -0
  124. data/lib/telestream_cloud.rb +0 -31
  125. data/lib/telestream_cloud/flip.rb +1 -9
  126. data/lib/telestream_cloud/qc.rb +1 -0
  127. data/lib/telestream_cloud/tts.rb +1 -0
  128. data/lib/telestream_cloud/version.rb +1 -1
  129. data/qc/.gitignore +39 -0
  130. data/qc/.rspec +2 -0
  131. data/qc/.swagger-codegen-ignore +23 -0
  132. data/qc/.swagger-codegen/VERSION +1 -0
  133. data/qc/Gemfile +7 -0
  134. data/qc/README.md +58 -0
  135. data/qc/Rakefile +8 -0
  136. data/qc/docs/Alert.md +13 -0
  137. data/qc/docs/AudioStream.md +13 -0
  138. data/qc/docs/Container.md +9 -0
  139. data/qc/docs/Data.md +10 -0
  140. data/qc/docs/Data1.md +9 -0
  141. data/qc/docs/ExtraFile.md +10 -0
  142. data/qc/docs/Job.md +12 -0
  143. data/qc/docs/JobData.md +9 -0
  144. data/qc/docs/JobDetails.md +9 -0
  145. data/qc/docs/JobDetailsResult.md +8 -0
  146. data/qc/docs/JobsCollection.md +12 -0
  147. data/qc/docs/Media.md +10 -0
  148. data/qc/docs/Options.md +7 -0
  149. data/qc/docs/Project.md +12 -0
  150. data/qc/docs/Proxy.md +12 -0
  151. data/qc/docs/QcApi.md +719 -0
  152. data/qc/docs/UploadSession.md +13 -0
  153. data/qc/docs/VideoStream.md +13 -0
  154. data/qc/docs/VideoUploadBody.md +12 -0
  155. data/qc/git_push.sh +55 -0
  156. data/qc/lib/telestream_cloud_qc.rb +64 -0
  157. data/qc/lib/telestream_cloud_qc/api/qc_api.rb +781 -0
  158. data/qc/lib/telestream_cloud_qc/api_client.rb +389 -0
  159. data/qc/lib/telestream_cloud_qc/api_error.rb +38 -0
  160. data/qc/lib/telestream_cloud_qc/configuration.rb +209 -0
  161. data/qc/lib/telestream_cloud_qc/models/alert.rb +236 -0
  162. data/qc/lib/telestream_cloud_qc/models/audio_stream.rb +238 -0
  163. data/qc/lib/telestream_cloud_qc/models/container.rb +198 -0
  164. data/qc/lib/telestream_cloud_qc/models/data.rb +208 -0
  165. data/qc/lib/telestream_cloud_qc/models/data_1.rb +197 -0
  166. data/qc/lib/telestream_cloud_qc/models/extra_file.rb +221 -0
  167. data/qc/lib/telestream_cloud_qc/models/job.rb +269 -0
  168. data/qc/lib/telestream_cloud_qc/models/job_data.rb +197 -0
  169. data/qc/lib/telestream_cloud_qc/models/job_details.rb +199 -0
  170. data/qc/lib/telestream_cloud_qc/models/job_details_result.rb +190 -0
  171. data/qc/lib/telestream_cloud_qc/models/jobs_collection.rb +230 -0
  172. data/qc/lib/telestream_cloud_qc/models/media.rb +210 -0
  173. data/qc/lib/telestream_cloud_qc/models/options.rb +179 -0
  174. data/qc/lib/telestream_cloud_qc/models/project.rb +262 -0
  175. data/qc/lib/telestream_cloud_qc/models/proxy.rb +224 -0
  176. data/qc/lib/telestream_cloud_qc/models/upload_session.rb +249 -0
  177. data/qc/lib/telestream_cloud_qc/models/video_stream.rb +235 -0
  178. data/qc/lib/telestream_cloud_qc/models/video_upload_body.rb +242 -0
  179. data/qc/lib/telestream_cloud_qc/uploader.rb +244 -0
  180. data/qc/lib/telestream_cloud_qc/version.rb +18 -0
  181. data/qc/spec/api/qc_api_spec.rb +202 -0
  182. data/qc/spec/api_client_spec.rb +226 -0
  183. data/qc/spec/configuration_spec.rb +42 -0
  184. data/qc/spec/models/alert_spec.rb +72 -0
  185. data/qc/spec/models/audio_stream_spec.rb +72 -0
  186. data/qc/spec/models/container_spec.rb +48 -0
  187. data/qc/spec/models/data_1_spec.rb +48 -0
  188. data/qc/spec/models/data_spec.rb +54 -0
  189. data/qc/spec/models/extra_file_spec.rb +54 -0
  190. data/qc/spec/models/job_data_spec.rb +48 -0
  191. data/qc/spec/models/job_details_result_spec.rb +42 -0
  192. data/qc/spec/models/job_details_spec.rb +48 -0
  193. data/qc/spec/models/job_spec.rb +74 -0
  194. data/qc/spec/models/jobs_collection_spec.rb +66 -0
  195. data/qc/spec/models/media_spec.rb +54 -0
  196. data/qc/spec/models/options_spec.rb +36 -0
  197. data/qc/spec/models/project_spec.rb +70 -0
  198. data/qc/spec/models/proxy_spec.rb +66 -0
  199. data/qc/spec/models/upload_session_spec.rb +72 -0
  200. data/qc/spec/models/video_stream_spec.rb +72 -0
  201. data/qc/spec/models/video_upload_body_spec.rb +66 -0
  202. data/qc/spec/spec_helper.rb +111 -0
  203. data/qc/telestream_cloud_qc.gemspec +47 -0
  204. data/telestream_cloud.gemspec +7 -12
  205. data/tts/.gitignore +39 -0
  206. data/tts/.rspec +2 -0
  207. data/tts/.swagger-codegen-ignore +23 -0
  208. data/tts/.swagger-codegen/VERSION +1 -0
  209. data/tts/Gemfile +7 -0
  210. data/tts/README.md +92 -0
  211. data/tts/Rakefile +8 -0
  212. data/tts/docs/CorporaCollection.md +8 -0
  213. data/tts/docs/Corpus.md +9 -0
  214. data/tts/docs/ErrorResponse.md +7 -0
  215. data/tts/docs/ExtraFile.md +10 -0
  216. data/tts/docs/Fragment.md +10 -0
  217. data/tts/docs/FragmentVariant.md +9 -0
  218. data/tts/docs/Job.md +23 -0
  219. data/tts/docs/JobResult.md +8 -0
  220. data/tts/docs/JobsCollection.md +12 -0
  221. data/tts/docs/Project.md +18 -0
  222. data/tts/docs/ProjectsCollection.md +12 -0
  223. data/tts/docs/Result.md +12 -0
  224. data/tts/docs/TtsApi.md +902 -0
  225. data/tts/docs/UploadSession.md +13 -0
  226. data/tts/docs/VideoUploadBody.md +12 -0
  227. data/tts/git_push.sh +55 -0
  228. data/tts/lib/telestream_cloud_tts.rb +60 -0
  229. data/tts/lib/telestream_cloud_tts/api/tts_api.rb +946 -0
  230. data/tts/lib/telestream_cloud_tts/api_client.rb +389 -0
  231. data/tts/lib/telestream_cloud_tts/api_error.rb +38 -0
  232. data/tts/lib/telestream_cloud_tts/configuration.rb +209 -0
  233. data/tts/lib/telestream_cloud_tts/models/corpora_collection.rb +191 -0
  234. data/tts/lib/telestream_cloud_tts/models/corpus.rb +199 -0
  235. data/tts/lib/telestream_cloud_tts/models/error_response.rb +179 -0
  236. data/tts/lib/telestream_cloud_tts/models/extra_file.rb +221 -0
  237. data/tts/lib/telestream_cloud_tts/models/fragment.rb +211 -0
  238. data/tts/lib/telestream_cloud_tts/models/fragment_variant.rb +199 -0
  239. data/tts/lib/telestream_cloud_tts/models/job.rb +372 -0
  240. data/tts/lib/telestream_cloud_tts/models/job_result.rb +191 -0
  241. data/tts/lib/telestream_cloud_tts/models/jobs_collection.rb +230 -0
  242. data/tts/lib/telestream_cloud_tts/models/project.rb +322 -0
  243. data/tts/lib/telestream_cloud_tts/models/projects_collection.rb +230 -0
  244. data/tts/lib/telestream_cloud_tts/models/result.rb +230 -0
  245. data/tts/lib/telestream_cloud_tts/models/upload_session.rb +249 -0
  246. data/tts/lib/telestream_cloud_tts/models/video_upload_body.rb +241 -0
  247. data/tts/lib/telestream_cloud_tts/uploader.rb +244 -0
  248. data/tts/lib/telestream_cloud_tts/version.rb +18 -0
  249. data/tts/spec/api/tts_api_spec.rb +236 -0
  250. data/tts/spec/api_client_spec.rb +226 -0
  251. data/tts/spec/configuration_spec.rb +42 -0
  252. data/tts/spec/models/corpora_collection_spec.rb +42 -0
  253. data/tts/spec/models/corpus_spec.rb +48 -0
  254. data/tts/spec/models/error_response_spec.rb +36 -0
  255. data/tts/spec/models/extra_file_spec.rb +54 -0
  256. data/tts/spec/models/fragment_spec.rb +54 -0
  257. data/tts/spec/models/fragment_variant_spec.rb +48 -0
  258. data/tts/spec/models/job_result_spec.rb +42 -0
  259. data/tts/spec/models/job_spec.rb +136 -0
  260. data/tts/spec/models/jobs_collection_spec.rb +66 -0
  261. data/tts/spec/models/project_spec.rb +106 -0
  262. data/tts/spec/models/projects_collection_spec.rb +66 -0
  263. data/tts/spec/models/result_spec.rb +66 -0
  264. data/tts/spec/models/upload_session_spec.rb +72 -0
  265. data/tts/spec/models/video_upload_body_spec.rb +66 -0
  266. data/tts/spec/spec_helper.rb +111 -0
  267. data/tts/telestream_cloud_tts.gemspec +47 -0
  268. metadata +281 -123
  269. data/Gemfile +0 -2
  270. data/lib/telestream_cloud/api_authentication.rb +0 -66
  271. data/lib/telestream_cloud/base.rb +0 -111
  272. data/lib/telestream_cloud/config.rb +0 -87
  273. data/lib/telestream_cloud/connection.rb +0 -101
  274. data/lib/telestream_cloud/errors.rb +0 -17
  275. data/lib/telestream_cloud/faraday.rb +0 -84
  276. data/lib/telestream_cloud/modules/associations.rb +0 -55
  277. data/lib/telestream_cloud/modules/builders.rb +0 -45
  278. data/lib/telestream_cloud/modules/destroyers.rb +0 -25
  279. data/lib/telestream_cloud/modules/factory_connection.rb +0 -7
  280. data/lib/telestream_cloud/modules/finders.rb +0 -68
  281. data/lib/telestream_cloud/modules/router.rb +0 -62
  282. data/lib/telestream_cloud/modules/updatable.rb +0 -31
  283. data/lib/telestream_cloud/modules/video_state.rb +0 -16
  284. data/lib/telestream_cloud/parallel_uploader.rb +0 -52
  285. data/lib/telestream_cloud/proxies/encoding_scope.rb +0 -56
  286. data/lib/telestream_cloud/proxies/profile_scope.rb +0 -7
  287. data/lib/telestream_cloud/proxies/proxy.rb +0 -27
  288. data/lib/telestream_cloud/proxies/scope.rb +0 -94
  289. data/lib/telestream_cloud/proxies/video_scope.rb +0 -28
  290. data/lib/telestream_cloud/resources/encoding.rb +0 -47
  291. data/lib/telestream_cloud/resources/factory.rb +0 -72
  292. data/lib/telestream_cloud/resources/profile.rb +0 -22
  293. data/lib/telestream_cloud/resources/resource.rb +0 -48
  294. data/lib/telestream_cloud/resources/video.rb +0 -39
  295. data/lib/telestream_cloud/telestream_cloud.rb +0 -69
  296. data/lib/telestream_cloud/upload_session.rb +0 -40
  297. data/lib/telestream_cloud/uploader.rb +0 -123
  298. data/lib/telestream_cloud/uploader/file_reader.rb +0 -27
  299. data/spec/cloud_spec.rb +0 -132
  300. data/spec/encoding_spec.rb +0 -260
  301. data/spec/heroku_spec.rb +0 -32
  302. data/spec/panda_spec.rb +0 -206
  303. data/spec/profile_spec.rb +0 -117
  304. data/spec/spec_helper.rb +0 -18
  305. data/spec/uploader_spec.rb +0 -143
  306. data/spec/video_spec.rb +0 -399
@@ -0,0 +1,179 @@
1
+ =begin
2
+ #Flip API
3
+
4
+ #Description
5
+
6
+ OpenAPI spec version: 3.1.0
7
+ Contact: cloudsupport@telestream.net
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TelestreamCloud::Flip
16
+
17
+ class VideoMetadata
18
+
19
+ # Attribute mapping from ruby-style variable name to JSON key.
20
+ def self.attribute_map
21
+ {
22
+ }
23
+ end
24
+
25
+ # Attribute type mapping.
26
+ def self.swagger_types
27
+ {
28
+ }
29
+ end
30
+
31
+ # Initializes the object
32
+ # @param [Hash] attributes Model attributes in the form of hash
33
+ def initialize(attributes = {})
34
+ return unless attributes.is_a?(Hash)
35
+
36
+ # convert string to symbol for hash key
37
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
38
+
39
+ end
40
+
41
+ # Show invalid properties with the reasons. Usually used together with valid?
42
+ # @return Array for valid properties with the reasons
43
+ def list_invalid_properties
44
+ invalid_properties = Array.new
45
+ return invalid_properties
46
+ end
47
+
48
+ # Check to see if the all the properties in the model are valid
49
+ # @return true if the model is valid
50
+ def valid?
51
+ return true
52
+ end
53
+
54
+ # Checks equality by comparing each attribute.
55
+ # @param [Object] Object to be compared
56
+ def ==(o)
57
+ return true if self.equal?(o)
58
+ self.class == o.class
59
+ end
60
+
61
+ # @see the `==` method
62
+ # @param [Object] Object to be compared
63
+ def eql?(o)
64
+ self == o
65
+ end
66
+
67
+ # Calculates hash code according to all attributes.
68
+ # @return [Fixnum] Hash code
69
+ def hash
70
+ [].hash
71
+ end
72
+
73
+ # Builds the object from hash
74
+ # @param [Hash] attributes Model attributes in the form of hash
75
+ # @return [Object] Returns the model itself
76
+ def build_from_hash(attributes)
77
+ return nil unless attributes.is_a?(Hash)
78
+ self.class.swagger_types.each_pair do |key, type|
79
+ if type =~ /\AArray<(.*)>/i
80
+ # check to ensure the input is an array given that the the attribute
81
+ # is documented as an array but the input is not
82
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
83
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
84
+ end
85
+ elsif !attributes[self.class.attribute_map[key]].nil?
86
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
87
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
88
+ end
89
+
90
+ self
91
+ end
92
+
93
+ # Deserializes the data based on type
94
+ # @param string type Data type
95
+ # @param string value Value to be deserialized
96
+ # @return [Object] Deserialized data
97
+ def _deserialize(type, value)
98
+ case type.to_sym
99
+ when :DateTime
100
+ DateTime.parse(value)
101
+ when :Date
102
+ Date.parse(value)
103
+ when :String
104
+ value.to_s
105
+ when :Integer
106
+ value.to_i
107
+ when :Float
108
+ value.to_f
109
+ when :BOOLEAN
110
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
111
+ true
112
+ else
113
+ false
114
+ end
115
+ when :Object
116
+ # generic object (usually a Hash), return directly
117
+ value
118
+ when /\AArray<(?<inner_type>.+)>\z/
119
+ inner_type = Regexp.last_match[:inner_type]
120
+ value.map { |v| _deserialize(inner_type, v) }
121
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
122
+ k_type = Regexp.last_match[:k_type]
123
+ v_type = Regexp.last_match[:v_type]
124
+ {}.tap do |hash|
125
+ value.each do |k, v|
126
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
127
+ end
128
+ end
129
+ else # model
130
+ temp_model = TelestreamCloud::Flip.const_get(type).new
131
+ temp_model.build_from_hash(value)
132
+ end
133
+ end
134
+
135
+ # Returns the string representation of the object
136
+ # @return [String] String presentation of the object
137
+ def to_s
138
+ to_hash.to_s
139
+ end
140
+
141
+ # to_body is an alias to to_hash (backward compatibility)
142
+ # @return [Hash] Returns the object in the form of hash
143
+ def to_body
144
+ to_hash
145
+ end
146
+
147
+ # Returns the object in the form of hash
148
+ # @return [Hash] Returns the object in the form of hash
149
+ def to_hash
150
+ hash = {}
151
+ self.class.attribute_map.each_pair do |attr, param|
152
+ value = self.send(attr)
153
+ next if value.nil?
154
+ hash[param] = _to_hash(value)
155
+ end
156
+ hash
157
+ end
158
+
159
+ # Outputs non-array value in the form of hash
160
+ # For object, use to_hash. Otherwise, just return the value
161
+ # @param [Object] value Any valid value
162
+ # @return [Hash] Returns the value in the form of hash
163
+ def _to_hash(value)
164
+ if value.is_a?(Array)
165
+ value.compact.map{ |v| _to_hash(v) }
166
+ elsif value.is_a?(Hash)
167
+ {}.tap do |hash|
168
+ value.each { |k, v| hash[k] = _to_hash(v) }
169
+ end
170
+ elsif value.respond_to? :to_hash
171
+ value.to_hash
172
+ else
173
+ value
174
+ end
175
+ end
176
+
177
+ end
178
+
179
+ end
@@ -0,0 +1,362 @@
1
+ =begin
2
+ #Flip API
3
+
4
+ #Description
5
+
6
+ OpenAPI spec version: 3.1.0
7
+ Contact: cloudsupport@telestream.net
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.3.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TelestreamCloud::Flip
16
+
17
+ class VideoUploadBody
18
+ # Size of the file that will be uploaded in `bytes`.
19
+ attr_accessor :file_size
20
+
21
+ # Name of the file that will be uploaded.
22
+ attr_accessor :file_name
23
+
24
+ # A list of names of additional files that will be uploaded.
25
+ attr_accessor :extra_files
26
+
27
+ # A comma-separated list of profile names or IDs to be used during encoding. Alternatively, specify none so no encodings will created right away.
28
+ attr_accessor :profiles
29
+
30
+ attr_accessor :path_format
31
+
32
+ # Payload is an arbitrary text of length 256 or shorter that you can store along the Video. It is typically used to retain an association with one of your own DB record ID.
33
+ attr_accessor :payload
34
+
35
+ attr_accessor :extra_variables
36
+
37
+ # URL pointing to an image that will be used asa watermark.
38
+ attr_accessor :watermark_url
39
+
40
+ # Determines distance between the left edge of a video and the left edge of a watermark image. Can be specified in pixels or percents. This parameter can be set only if watermark_right is not.
41
+ attr_accessor :watermark_left
42
+
43
+ # Determines distance between the top edge of a video and the top edge of a watermark image. Can be specified in pixels or percents. This parameter can be set only if watermark_bottom is not.
44
+ attr_accessor :watermark_top
45
+
46
+ # Determines distance between the right edge of a video and the right edge of a watermark image. Can be specified in pixels or percents. This parameter can be set only if watermark_left is not.
47
+ attr_accessor :watermark_right
48
+
49
+ # Determines distance between the bottom edge of a video and the bottom edge of a watermark image. Can be specified in pixels or percents. This parameter can be set only if watermark_top is not.
50
+ attr_accessor :watermark_bottom
51
+
52
+ # Determines width of the watermark image. Should be specified in pixels.
53
+ attr_accessor :watermark_width
54
+
55
+ # Determines width of the watermark image. Should be specified in pixels.
56
+ attr_accessor :watermark_height
57
+
58
+ # Length of the uploaded video. Should be formatted as follows: HH:MM:SS
59
+ attr_accessor :clip_length
60
+
61
+ # Clip starts at a specific offset.
62
+ attr_accessor :clip_offset
63
+
64
+ attr_accessor :multi_chunk
65
+
66
+
67
+ # Attribute mapping from ruby-style variable name to JSON key.
68
+ def self.attribute_map
69
+ {
70
+ :'file_size' => :'file_size',
71
+ :'file_name' => :'file_name',
72
+ :'extra_files' => :'extra_files',
73
+ :'profiles' => :'profiles',
74
+ :'path_format' => :'path_format',
75
+ :'payload' => :'payload',
76
+ :'extra_variables' => :'extra_variables',
77
+ :'watermark_url' => :'watermark_url',
78
+ :'watermark_left' => :'watermark_left',
79
+ :'watermark_top' => :'watermark_top',
80
+ :'watermark_right' => :'watermark_right',
81
+ :'watermark_bottom' => :'watermark_bottom',
82
+ :'watermark_width' => :'watermark_width',
83
+ :'watermark_height' => :'watermark_height',
84
+ :'clip_length' => :'clip_length',
85
+ :'clip_offset' => :'clip_offset',
86
+ :'multi_chunk' => :'multi_chunk'
87
+ }
88
+ end
89
+
90
+ # Attribute type mapping.
91
+ def self.swagger_types
92
+ {
93
+ :'file_size' => :'Integer',
94
+ :'file_name' => :'String',
95
+ :'extra_files' => :'Array<ExtraFile>',
96
+ :'profiles' => :'String',
97
+ :'path_format' => :'String',
98
+ :'payload' => :'String',
99
+ :'extra_variables' => :'Hash<String, String>',
100
+ :'watermark_url' => :'String',
101
+ :'watermark_left' => :'String',
102
+ :'watermark_top' => :'String',
103
+ :'watermark_right' => :'String',
104
+ :'watermark_bottom' => :'String',
105
+ :'watermark_width' => :'String',
106
+ :'watermark_height' => :'String',
107
+ :'clip_length' => :'String',
108
+ :'clip_offset' => :'String',
109
+ :'multi_chunk' => :'BOOLEAN'
110
+ }
111
+ end
112
+
113
+ # Initializes the object
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ def initialize(attributes = {})
116
+ return unless attributes.is_a?(Hash)
117
+
118
+ # convert string to symbol for hash key
119
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
120
+
121
+ if attributes.has_key?(:'file_size')
122
+ self.file_size = attributes[:'file_size']
123
+ end
124
+
125
+ if attributes.has_key?(:'file_name')
126
+ self.file_name = attributes[:'file_name']
127
+ end
128
+
129
+ if attributes.has_key?(:'extra_files')
130
+ if (value = attributes[:'extra_files']).is_a?(Array)
131
+ self.extra_files = value
132
+ end
133
+ end
134
+
135
+ if attributes.has_key?(:'profiles')
136
+ self.profiles = attributes[:'profiles']
137
+ end
138
+
139
+ if attributes.has_key?(:'path_format')
140
+ self.path_format = attributes[:'path_format']
141
+ end
142
+
143
+ if attributes.has_key?(:'payload')
144
+ self.payload = attributes[:'payload']
145
+ end
146
+
147
+ if attributes.has_key?(:'extra_variables')
148
+ if (value = attributes[:'extra_variables']).is_a?(Hash)
149
+ self.extra_variables = value
150
+ end
151
+ end
152
+
153
+ if attributes.has_key?(:'watermark_url')
154
+ self.watermark_url = attributes[:'watermark_url']
155
+ end
156
+
157
+ if attributes.has_key?(:'watermark_left')
158
+ self.watermark_left = attributes[:'watermark_left']
159
+ end
160
+
161
+ if attributes.has_key?(:'watermark_top')
162
+ self.watermark_top = attributes[:'watermark_top']
163
+ end
164
+
165
+ if attributes.has_key?(:'watermark_right')
166
+ self.watermark_right = attributes[:'watermark_right']
167
+ end
168
+
169
+ if attributes.has_key?(:'watermark_bottom')
170
+ self.watermark_bottom = attributes[:'watermark_bottom']
171
+ end
172
+
173
+ if attributes.has_key?(:'watermark_width')
174
+ self.watermark_width = attributes[:'watermark_width']
175
+ end
176
+
177
+ if attributes.has_key?(:'watermark_height')
178
+ self.watermark_height = attributes[:'watermark_height']
179
+ end
180
+
181
+ if attributes.has_key?(:'clip_length')
182
+ self.clip_length = attributes[:'clip_length']
183
+ end
184
+
185
+ if attributes.has_key?(:'clip_offset')
186
+ self.clip_offset = attributes[:'clip_offset']
187
+ end
188
+
189
+ if attributes.has_key?(:'multi_chunk')
190
+ self.multi_chunk = attributes[:'multi_chunk']
191
+ else
192
+ self.multi_chunk = true
193
+ end
194
+
195
+ end
196
+
197
+ # Show invalid properties with the reasons. Usually used together with valid?
198
+ # @return Array for valid properties with the reasons
199
+ def list_invalid_properties
200
+ invalid_properties = Array.new
201
+ if @file_size.nil?
202
+ invalid_properties.push("invalid value for 'file_size', file_size cannot be nil.")
203
+ end
204
+
205
+ if @file_name.nil?
206
+ invalid_properties.push("invalid value for 'file_name', file_name cannot be nil.")
207
+ end
208
+
209
+ return invalid_properties
210
+ end
211
+
212
+ # Check to see if the all the properties in the model are valid
213
+ # @return true if the model is valid
214
+ def valid?
215
+ return false if @file_size.nil?
216
+ return false if @file_name.nil?
217
+ return true
218
+ end
219
+
220
+ # Checks equality by comparing each attribute.
221
+ # @param [Object] Object to be compared
222
+ def ==(o)
223
+ return true if self.equal?(o)
224
+ self.class == o.class &&
225
+ file_size == o.file_size &&
226
+ file_name == o.file_name &&
227
+ extra_files == o.extra_files &&
228
+ profiles == o.profiles &&
229
+ path_format == o.path_format &&
230
+ payload == o.payload &&
231
+ extra_variables == o.extra_variables &&
232
+ watermark_url == o.watermark_url &&
233
+ watermark_left == o.watermark_left &&
234
+ watermark_top == o.watermark_top &&
235
+ watermark_right == o.watermark_right &&
236
+ watermark_bottom == o.watermark_bottom &&
237
+ watermark_width == o.watermark_width &&
238
+ watermark_height == o.watermark_height &&
239
+ clip_length == o.clip_length &&
240
+ clip_offset == o.clip_offset &&
241
+ multi_chunk == o.multi_chunk
242
+ end
243
+
244
+ # @see the `==` method
245
+ # @param [Object] Object to be compared
246
+ def eql?(o)
247
+ self == o
248
+ end
249
+
250
+ # Calculates hash code according to all attributes.
251
+ # @return [Fixnum] Hash code
252
+ def hash
253
+ [file_size, file_name, extra_files, profiles, path_format, payload, extra_variables, watermark_url, watermark_left, watermark_top, watermark_right, watermark_bottom, watermark_width, watermark_height, clip_length, clip_offset, multi_chunk].hash
254
+ end
255
+
256
+ # Builds the object from hash
257
+ # @param [Hash] attributes Model attributes in the form of hash
258
+ # @return [Object] Returns the model itself
259
+ def build_from_hash(attributes)
260
+ return nil unless attributes.is_a?(Hash)
261
+ self.class.swagger_types.each_pair do |key, type|
262
+ if type =~ /\AArray<(.*)>/i
263
+ # check to ensure the input is an array given that the the attribute
264
+ # is documented as an array but the input is not
265
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
266
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
267
+ end
268
+ elsif !attributes[self.class.attribute_map[key]].nil?
269
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
270
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
271
+ end
272
+
273
+ self
274
+ end
275
+
276
+ # Deserializes the data based on type
277
+ # @param string type Data type
278
+ # @param string value Value to be deserialized
279
+ # @return [Object] Deserialized data
280
+ def _deserialize(type, value)
281
+ case type.to_sym
282
+ when :DateTime
283
+ DateTime.parse(value)
284
+ when :Date
285
+ Date.parse(value)
286
+ when :String
287
+ value.to_s
288
+ when :Integer
289
+ value.to_i
290
+ when :Float
291
+ value.to_f
292
+ when :BOOLEAN
293
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
294
+ true
295
+ else
296
+ false
297
+ end
298
+ when :Object
299
+ # generic object (usually a Hash), return directly
300
+ value
301
+ when /\AArray<(?<inner_type>.+)>\z/
302
+ inner_type = Regexp.last_match[:inner_type]
303
+ value.map { |v| _deserialize(inner_type, v) }
304
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
305
+ k_type = Regexp.last_match[:k_type]
306
+ v_type = Regexp.last_match[:v_type]
307
+ {}.tap do |hash|
308
+ value.each do |k, v|
309
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
310
+ end
311
+ end
312
+ else # model
313
+ temp_model = TelestreamCloud::Flip.const_get(type).new
314
+ temp_model.build_from_hash(value)
315
+ end
316
+ end
317
+
318
+ # Returns the string representation of the object
319
+ # @return [String] String presentation of the object
320
+ def to_s
321
+ to_hash.to_s
322
+ end
323
+
324
+ # to_body is an alias to to_hash (backward compatibility)
325
+ # @return [Hash] Returns the object in the form of hash
326
+ def to_body
327
+ to_hash
328
+ end
329
+
330
+ # Returns the object in the form of hash
331
+ # @return [Hash] Returns the object in the form of hash
332
+ def to_hash
333
+ hash = {}
334
+ self.class.attribute_map.each_pair do |attr, param|
335
+ value = self.send(attr)
336
+ next if value.nil?
337
+ hash[param] = _to_hash(value)
338
+ end
339
+ hash
340
+ end
341
+
342
+ # Outputs non-array value in the form of hash
343
+ # For object, use to_hash. Otherwise, just return the value
344
+ # @param [Object] value Any valid value
345
+ # @return [Hash] Returns the value in the form of hash
346
+ def _to_hash(value)
347
+ if value.is_a?(Array)
348
+ value.compact.map{ |v| _to_hash(v) }
349
+ elsif value.is_a?(Hash)
350
+ {}.tap do |hash|
351
+ value.each { |k, v| hash[k] = _to_hash(v) }
352
+ end
353
+ elsif value.respond_to? :to_hash
354
+ value.to_hash
355
+ else
356
+ value
357
+ end
358
+ end
359
+
360
+ end
361
+
362
+ end