telestream_cloud_flip 2.0.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.
Files changed (118) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/README.md +130 -0
  4. data/Rakefile +8 -0
  5. data/docs/CanceledResponse.md +8 -0
  6. data/docs/CloudNotificationSettings.md +11 -0
  7. data/docs/CloudNotificationSettingsEvents.md +11 -0
  8. data/docs/CopyProfileBody.md +9 -0
  9. data/docs/CountResponse.md +8 -0
  10. data/docs/CreateEncodingBody.md +10 -0
  11. data/docs/CreateVideoBody.md +12 -0
  12. data/docs/DeletedResponse.md +8 -0
  13. data/docs/Encoding.md +38 -0
  14. data/docs/EncodingSignedUrl.md +8 -0
  15. data/docs/EncodingSignedUrls.md +8 -0
  16. data/docs/Error.md +9 -0
  17. data/docs/ExtraFile.md +10 -0
  18. data/docs/Factory.md +25 -0
  19. data/docs/FactoryBody.md +23 -0
  20. data/docs/FactoryBodyStorageCredentialAttributes.md +11 -0
  21. data/docs/FactorySync.md +8 -0
  22. data/docs/FactorySyncBody.md +8 -0
  23. data/docs/FlipApi.md +2179 -0
  24. data/docs/PaginatedEncodingsCollection.md +11 -0
  25. data/docs/PaginatedFactoryCollection.md +11 -0
  26. data/docs/PaginatedProfilesCollection.md +11 -0
  27. data/docs/PaginatedVideoCollection.md +11 -0
  28. data/docs/PaginatedWorkflowsCollection.md +11 -0
  29. data/docs/Profile.md +135 -0
  30. data/docs/ProfileBody.md +137 -0
  31. data/docs/ResubmitVideoBody.md +8 -0
  32. data/docs/RetriedResponse.md +8 -0
  33. data/docs/SignedVideoUrl.md +8 -0
  34. data/docs/UpdateEncodingBody.md +9 -0
  35. data/docs/UploadSession.md +13 -0
  36. data/docs/Video.md +31 -0
  37. data/docs/VideoMetadata.md +7 -0
  38. data/docs/VideoUploadBody.md +24 -0
  39. data/git_push.sh +55 -0
  40. data/lib/telestream_cloud_flip/api/flip_api.rb +2385 -0
  41. data/lib/telestream_cloud_flip/api_client.rb +389 -0
  42. data/lib/telestream_cloud_flip/api_error.rb +38 -0
  43. data/lib/telestream_cloud_flip/configuration.rb +209 -0
  44. data/lib/telestream_cloud_flip/models/canceled_response.rb +189 -0
  45. data/lib/telestream_cloud_flip/models/cloud_notification_settings.rb +237 -0
  46. data/lib/telestream_cloud_flip/models/cloud_notification_settings_events.rb +239 -0
  47. data/lib/telestream_cloud_flip/models/copy_profile_body.rb +209 -0
  48. data/lib/telestream_cloud_flip/models/count_response.rb +189 -0
  49. data/lib/telestream_cloud_flip/models/create_encoding_body.rb +214 -0
  50. data/lib/telestream_cloud_flip/models/create_video_body.rb +231 -0
  51. data/lib/telestream_cloud_flip/models/deleted_response.rb +189 -0
  52. data/lib/telestream_cloud_flip/models/encoding.rb +486 -0
  53. data/lib/telestream_cloud_flip/models/encoding_signed_url.rb +189 -0
  54. data/lib/telestream_cloud_flip/models/encoding_signed_urls.rb +191 -0
  55. data/lib/telestream_cloud_flip/models/error.rb +199 -0
  56. data/lib/telestream_cloud_flip/models/extra_file.rb +221 -0
  57. data/lib/telestream_cloud_flip/models/factory.rb +388 -0
  58. data/lib/telestream_cloud_flip/models/factory_body.rb +374 -0
  59. data/lib/telestream_cloud_flip/models/factory_body_storage_credential_attributes.rb +215 -0
  60. data/lib/telestream_cloud_flip/models/factory_sync.rb +222 -0
  61. data/lib/telestream_cloud_flip/models/factory_sync_body.rb +227 -0
  62. data/lib/telestream_cloud_flip/models/paginated_encodings_collection.rb +240 -0
  63. data/lib/telestream_cloud_flip/models/paginated_factory_collection.rb +220 -0
  64. data/lib/telestream_cloud_flip/models/paginated_profiles_collection.rb +220 -0
  65. data/lib/telestream_cloud_flip/models/paginated_video_collection.rb +220 -0
  66. data/lib/telestream_cloud_flip/models/paginated_workflows_collection.rb +220 -0
  67. data/lib/telestream_cloud_flip/models/profile.rb +1777 -0
  68. data/lib/telestream_cloud_flip/models/profile_body.rb +1762 -0
  69. data/lib/telestream_cloud_flip/models/resubmit_video_body.rb +189 -0
  70. data/lib/telestream_cloud_flip/models/retried_response.rb +189 -0
  71. data/lib/telestream_cloud_flip/models/signed_video_url.rb +189 -0
  72. data/lib/telestream_cloud_flip/models/update_encoding_body.rb +199 -0
  73. data/lib/telestream_cloud_flip/models/upload_session.rb +249 -0
  74. data/lib/telestream_cloud_flip/models/video.rb +418 -0
  75. data/lib/telestream_cloud_flip/models/video_metadata.rb +179 -0
  76. data/lib/telestream_cloud_flip/models/video_upload_body.rb +362 -0
  77. data/lib/telestream_cloud_flip/uploader.rb +244 -0
  78. data/lib/telestream_cloud_flip/version.rb +18 -0
  79. data/lib/telestream_cloud_flip.rb +79 -0
  80. data/spec/api/flip_api_spec.rb +550 -0
  81. data/spec/api_client_spec.rb +226 -0
  82. data/spec/configuration_spec.rb +42 -0
  83. data/spec/models/canceled_response_spec.rb +42 -0
  84. data/spec/models/cloud_notification_settings_events_spec.rb +60 -0
  85. data/spec/models/cloud_notification_settings_spec.rb +60 -0
  86. data/spec/models/copy_profile_body_spec.rb +48 -0
  87. data/spec/models/count_response_spec.rb +42 -0
  88. data/spec/models/create_encoding_body_spec.rb +54 -0
  89. data/spec/models/create_video_body_spec.rb +66 -0
  90. data/spec/models/deleted_response_spec.rb +42 -0
  91. data/spec/models/encoding_signed_url_spec.rb +42 -0
  92. data/spec/models/encoding_signed_urls_spec.rb +42 -0
  93. data/spec/models/encoding_spec.rb +222 -0
  94. data/spec/models/error_spec.rb +48 -0
  95. data/spec/models/extra_file_spec.rb +54 -0
  96. data/spec/models/factory_body_spec.rb +136 -0
  97. data/spec/models/factory_body_storage_credential_attributes_spec.rb +60 -0
  98. data/spec/models/factory_spec.rb +148 -0
  99. data/spec/models/factory_sync_body_spec.rb +46 -0
  100. data/spec/models/factory_sync_spec.rb +46 -0
  101. data/spec/models/paginated_encodings_collection_spec.rb +60 -0
  102. data/spec/models/paginated_factory_collection_spec.rb +60 -0
  103. data/spec/models/paginated_profiles_collection_spec.rb +60 -0
  104. data/spec/models/paginated_video_collection_spec.rb +60 -0
  105. data/spec/models/paginated_workflows_collection_spec.rb +60 -0
  106. data/spec/models/profile_body_spec.rb +916 -0
  107. data/spec/models/profile_spec.rb +916 -0
  108. data/spec/models/resubmit_video_body_spec.rb +42 -0
  109. data/spec/models/retried_response_spec.rb +42 -0
  110. data/spec/models/signed_video_url_spec.rb +42 -0
  111. data/spec/models/update_encoding_body_spec.rb +48 -0
  112. data/spec/models/upload_session_spec.rb +72 -0
  113. data/spec/models/video_metadata_spec.rb +36 -0
  114. data/spec/models/video_spec.rb +180 -0
  115. data/spec/models/video_upload_body_spec.rb +138 -0
  116. data/spec/spec_helper.rb +111 -0
  117. data/telestream_cloud_flip.gemspec +47 -0
  118. metadata +396 -0
@@ -0,0 +1,1762 @@
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 ProfileBody
18
+ # a name of a preset that a profile will use.
19
+ attr_accessor :preset_name
20
+
21
+ # todo
22
+ attr_accessor :advanced_fps_conversion
23
+
24
+ # Default is \"letterbox\".
25
+ attr_accessor :aspect_mode
26
+
27
+ # Sets the desired display aspect ratio. By default it is not set.
28
+ attr_accessor :aspect_ratio
29
+
30
+ # audio bitrate (in bits/s)
31
+ attr_accessor :audio_bitrate
32
+
33
+ # Sets the number of audio channels. By default it is not set.
34
+ attr_accessor :audio_channels
35
+
36
+ # A channel layout specifies the spatial disposition of the channels in a multi-channel audio stream.
37
+ attr_accessor :audio_channels_layout
38
+
39
+ # Sets the number of audio channels per track.
40
+ attr_accessor :audio_channels_per_track
41
+
42
+ # Audio codec that will be used by the profile.
43
+ attr_accessor :audio_codec
44
+
45
+ # Specifies an audio container.
46
+ attr_accessor :audio_format
47
+
48
+ # Packet identifier used by MPEG formats.
49
+ attr_accessor :audio_pid
50
+
51
+ # Sets an audio profile.
52
+ attr_accessor :audio_profile
53
+
54
+ # The number of samples of audio carried per second.
55
+ attr_accessor :audio_sample_rate
56
+
57
+ # Sets the number of audio streams.
58
+ attr_accessor :audio_streams
59
+
60
+ # class of the AVC-Intra video coding.
61
+ attr_accessor :avcintra_class
62
+
63
+ # Sets the buffer size, and can be 1-2 seconds for most gaming screencasts, and up to 5 seconds for more static content. You will have to experiment to see what looks best for your content.
64
+ attr_accessor :buffer_size
65
+
66
+ # todo
67
+ attr_accessor :buffer_size_in_packets
68
+
69
+ # Sets the clip’s duration.
70
+ attr_accessor :clip_length
71
+
72
+ # Clip starts at a specific offset.
73
+ attr_accessor :clip_offset
74
+
75
+ # One of add (adds captions as a separate streams) or burn (burns captions on video stream using the first subtitle file). By default it is not set.
76
+ attr_accessor :closed_captions
77
+
78
+ attr_accessor :dash_profile
79
+
80
+ # One of `keep_fps` or `double_fps`. By default it is not set.
81
+ attr_accessor :deinterlace
82
+
83
+ attr_accessor :deinterlace_frames
84
+
85
+ attr_accessor :dnxhd_type
86
+
87
+ attr_accessor :encryption
88
+
89
+ # File extension.
90
+ attr_accessor :extname
91
+
92
+ # Null value copy the original fps. By default it is not set.
93
+ attr_accessor :fps
94
+
95
+ # Array of offsets (Frames or seconds).
96
+ attr_accessor :frame_offsets
97
+
98
+ # Thumbnail interval (Frames or seconds).
99
+ attr_accessor :frame_interval
100
+
101
+ # Evenly spaced number of generated screenshots. By default it is not set.
102
+ attr_accessor :frame_count
103
+
104
+ # A specified set of constraints that indicate a degree of required decoder performance for a profile.
105
+ attr_accessor :h264_level
106
+
107
+ # Profiles represent a sub-set of the encoding techniques available in H.264.
108
+ attr_accessor :h264_profile
109
+
110
+ # Use this option to change settings based upon the specifics of your input
111
+ attr_accessor :h264_tune
112
+
113
+ # Height in pixels.
114
+ attr_accessor :height
115
+
116
+ attr_accessor :imx_type
117
+
118
+ attr_accessor :interlace
119
+
120
+ # Adds a key frame every N frames. Default is 250, adds a key frame every 250 frames.
121
+ attr_accessor :keyframe_interval
122
+
123
+ # todo
124
+ attr_accessor :keyframe_rate
125
+
126
+ # Set max bitrate tolerance (in bits/s). By default this is not set
127
+ attr_accessor :max_rate
128
+
129
+ attr_accessor :merge_audio_streams
130
+
131
+ # Unique machine-readable name that will identify the profile. Helpful later on for filtering encodings by profile.
132
+ attr_accessor :name
133
+
134
+ # Specify the directory where the output files should be stored. By default it is not set. More information about this [here](https://cloud.telestream.net/docs#path-format---know-how).
135
+ attr_accessor :outputs_path_format
136
+
137
+ attr_accessor :pmt_pid
138
+
139
+ attr_accessor :prores_format
140
+
141
+ attr_accessor :segment_time
142
+
143
+ attr_accessor :size
144
+
145
+ attr_accessor :tar
146
+
147
+ attr_accessor :transport_rate
148
+
149
+ attr_accessor :ts_pids
150
+
151
+ # Upscale the video resolution to match your profile. Default is `true`.
152
+ attr_accessor :upscale
153
+
154
+ # Pattern utilised to match HLS.Variant presets by name. Default is hls.*.
155
+ attr_accessor :variants
156
+
157
+ attr_accessor :video_bitrate
158
+
159
+ attr_accessor :video_pid
160
+
161
+ # Distance from the bottom of the video frame in pixels or percentage of video frame height. Works like CSS. Default is `0`.
162
+ attr_accessor :watermark_bottom
163
+
164
+ # Height of the watermark image in pixels or percentage of video frame height. Default is no resizing
165
+ attr_accessor :watermark_height
166
+
167
+ # Distance from the left of the video frame in pixels or percentage of video frame width. Works like CSS. Default is `0`.
168
+ attr_accessor :watermark_left
169
+
170
+ # Distance from the right of the video frame in pixels or percentage of video frame width. Works like CSS. Default is `0`.
171
+ attr_accessor :watermark_right
172
+
173
+ # Distance from the top of the video frame in pixels or percentage of video frame height. Works like CSS. Default is `0`.
174
+ attr_accessor :watermark_top
175
+
176
+ # Url of a watermark image.
177
+ attr_accessor :watermark_url
178
+
179
+ # Width of the watermark image in pixels or percentage of video frame width. Default is `no resizing`.
180
+ attr_accessor :watermark_width
181
+
182
+ # Width in pixels.
183
+ attr_accessor :width
184
+
185
+ attr_accessor :x264_options
186
+
187
+ attr_accessor :x265_options
188
+
189
+ attr_accessor :xdcam_format
190
+
191
+ # Remove audio from input video file. By default it is set to `false`.
192
+ attr_accessor :mute_audio_tracks
193
+
194
+ attr_accessor :byte_range_requests
195
+
196
+ attr_accessor :lang
197
+
198
+ attr_accessor :use_editlist
199
+
200
+ attr_accessor :audio_map
201
+
202
+ attr_accessor :audio_stream_id
203
+
204
+ attr_accessor :bumpers
205
+
206
+ # Determines a preset that is used by encoders.
207
+ attr_accessor :codec_preset
208
+
209
+ attr_accessor :color_metadata
210
+
211
+ # Distance (in pixels) from the bottom edge of the screen from which you want your crop to be done.
212
+ attr_accessor :crop_input_bottom
213
+
214
+ # Width of the cropped image in pixels.
215
+ attr_accessor :crop_input_height
216
+
217
+ # Distance (in pixels) from the left edge of the screen from which you want your crop to be done.
218
+ attr_accessor :crop_input_left
219
+
220
+ # Distance (in pixels) from the right edge of the screen from which you want your crop to be done.
221
+ attr_accessor :crop_input_right
222
+
223
+ # Distance (in pixels) from the top edge of the screen from which you want your crop to be done.
224
+ attr_accessor :crop_input_top
225
+
226
+ # Height of the cropped image in pixels.
227
+ attr_accessor :crop_input_width
228
+
229
+ attr_accessor :dynamic_recipe
230
+
231
+ attr_accessor :playlist_type
232
+
233
+ attr_accessor :preset_version
234
+
235
+ attr_accessor :segment_delimiter
236
+
237
+ attr_accessor :sws_flags
238
+
239
+ attr_accessor :telestream_block_size
240
+
241
+ # Minimum value is 0, maximum is 4.
242
+ attr_accessor :telestream_blur_scaler
243
+
244
+ # Minimum value is 0, maximum is 4.
245
+ attr_accessor :telestream_cost_scaler
246
+
247
+ # Minimum value is 0, maximum is 2.
248
+ attr_accessor :telestream_search_length_scaler
249
+
250
+ attr_accessor :telestream_subpel_mode
251
+
252
+ attr_accessor :trailers
253
+
254
+ attr_accessor :vantage_group_id
255
+
256
+ attr_accessor :watermark_bumpers
257
+
258
+ attr_accessor :watermark_trailers
259
+
260
+ attr_accessor :workorder_criteria
261
+
262
+ # Enable more sensitive pulldown removal algorithm.
263
+ attr_accessor :tachyon_allow_remove_pulldown
264
+
265
+ # If the images you are converting are composited 29.976, but the pulldown pattern was not adhered to when performing the composite, this setting is required to remove combing artifacts. It will also remove combing artifacts related to very poor 3:2 cadence.
266
+ attr_accessor :tachyon_enable_post_pulldown_filter
267
+
268
+ attr_accessor :tachyon_media_hint_is_cartoon
269
+
270
+ # Remove chroma noise during the analysis of a video.
271
+ attr_accessor :tachyon_media_hint_has_chroma_noise
272
+
273
+ # When pulldown is not achieved due to extremely broken cadence, or other factors like highly mixed content or if chroma noise masks motion, the pulldown engine may fall back to de-interlacing rather than removing telecine. If that's a case, a more sensitive pulldown pattern can be used. This algorithm favors inverse telecine and with lower thresholds for triggering pulldown identification, will maximize the number of progressive frames created from the video.
274
+ attr_accessor :tachyon_more_sensitive_remove_pulldown
275
+
276
+ attr_accessor :tachyon_allow_add_standard_pd
277
+
278
+ # Allows 2:2 (PSF) Insertion. Creates a new series of frames which are based on duplicating the field an interlacing it into top/bottom field. Maintains a film-look.
279
+ attr_accessor :tachyon_allow_add_2_2pd
280
+
281
+ # Allows 4:4 Insertion. Repeats each progressive frame twice on output (motion rate is halved). This setting is used when you want to convert to high progressive frame rates (i.e. 50p/59.94p/60p) but want to preserve film qualities (low motion rate, such as 24p).
282
+ attr_accessor :tachyon_allow_add_4_4pd
283
+
284
+ # 2:3 Insertion. inserts a standard 2:3 telecine pattern to 23.976p video stream to achieve a 29.97i frame rate
285
+ attr_accessor :tachyon_allow_add_4_6pd
286
+
287
+ # Allows Euro Insertion. For field based interpolation rather than pixel-based. This is designed for interlaced or progressive integer frame rate conversions that are being converted to interlaced outputs. This method is valid for 24p to 50i conversions only.
288
+ attr_accessor :tachyon_allow_add_euro_pd
289
+
290
+ # Allows Adaptive Insertion. For field-based interpolation rather than using pixel-based interpolation. This algorithm is designed for both integer and non-integer frame rate conversion targets - as long as one of them is a non-integer rate (23.976, 29.97, 59.94, etc). This creates NTSC-PAL conversions clean of motion artifacts at the expense of potential slight stutter. Stutter is most noticeable with material that has smooth and uniform motion.
291
+ attr_accessor :tachyon_allow_add_adaptive_pd
292
+
293
+ # This setting determines how much Tachyon will trust motion vectors in the creation of new images
294
+ attr_accessor :tachyon_motion_amount
295
+
296
+ # This option specifies the transition region size between fallback areas and motion compensated areas. A larger fallback size allows more blending (feathering) to occur between the regions.
297
+ attr_accessor :tachyon_fallback_size
298
+
299
+ # This option specifies the size of a motion block.
300
+ attr_accessor :tachyon_mblock_size
301
+
302
+ attr_accessor :tachyon_cut_detection_sensitivity
303
+
304
+ # Enables the trusted metadata framework.
305
+ attr_accessor :eac3_evolution_enable
306
+
307
+ # Selects the type of audio service. **For 1/0 Voiceover will be used when Voiceover/Karaoke is selected. For 2/0 and above Karaoke will be used.
308
+ attr_accessor :eac3_bitstream_mode
309
+
310
+ # Applies a 90-degree phase shift to the surround channels; necessary if the output file is being decoded by a Dolby Surround Pro Logic or Pro Logic II decoder.
311
+ attr_accessor :eac3_ninety_degree_phase_shift
312
+
313
+ # Attenuates the surround channels by 3 dB before encoding.
314
+ attr_accessor :eac3_three_decibel_attenuation
315
+
316
+ # Applies a 120 Hz eighth order lowpass filter to the LFE input prior to encoding.
317
+ attr_accessor :eac3_enable_lfe_low_pass_filter
318
+
319
+ # Allows audio that has passed through an A/D conversion stage to be marked as such.
320
+ attr_accessor :eac3_analog_to_digital_converter_type
321
+
322
+ attr_accessor :eac3_stereo_downmix_preference
323
+
324
+ # Indicates the level shift applied to the center channel when adding to the left and right outputs during a downmix to a Lt/Rt output.
325
+ attr_accessor :eac3_lt_rt_center_mix_level
326
+
327
+ # Indicates the level shift applied to the surround channel when adding to the left and right outputs during a downmix to a Lt/Rt output.
328
+ attr_accessor :eac3_lt_rt_surround_mix_level
329
+
330
+ # Indicates the level shift applied to the center channel when adding to the left and right outputs during a downmix to a Lo/Ro output.
331
+ attr_accessor :eac3_lo_ro_center_mix_level
332
+
333
+ # Indicates the level shift applied to the surround channel when adding to the left and right outputs during a downmix to a Lo/Ro output.
334
+ attr_accessor :eac3_lo_ro_surround_mix_level
335
+
336
+ # Indicates whether the audio stream was encoded using Dolby EX.
337
+ attr_accessor :eac3_surround_ex_mode
338
+
339
+ # Dynamic Range Control for Line Mode.
340
+ attr_accessor :eac3_drc_line_mode_profile
341
+
342
+ # Dynamic Range Control for RF Mode.
343
+ attr_accessor :eac3_drc_rf_mode_profile
344
+
345
+ # Represents the volume level of dialog in the audio stream which can be used by a Dolby Digital decoder. This aids the decoder in matching volume between program sources. Minimum value is 1, maximum is 31.
346
+ attr_accessor :eac3_dialog_normalization
347
+
348
+ attr_accessor :eac3_room_type
349
+
350
+ # Minimum value is 80, maximum is 111.
351
+ attr_accessor :eac3_mixing_level
352
+
353
+ # Indicates whether the encoded bitstream is copyright protected.
354
+ attr_accessor :eac3_copyright_protected
355
+
356
+ # Indicates whether the encoded bitstream is the master version, or a copy.
357
+ attr_accessor :eac3_original_bitstream
358
+
359
+ # Human-readable name.
360
+ attr_accessor :title
361
+
362
+ # If set, timestamps will be added to your videos. By default this is not set.
363
+ attr_accessor :time_code
364
+
365
+ class EnumAttributeValidator
366
+ attr_reader :datatype
367
+ attr_reader :allowable_values
368
+
369
+ def initialize(datatype, allowable_values)
370
+ @allowable_values = allowable_values.map do |value|
371
+ case datatype.to_s
372
+ when /Integer/i
373
+ value.to_i
374
+ when /Float/i
375
+ value.to_f
376
+ else
377
+ value
378
+ end
379
+ end
380
+ end
381
+
382
+ def valid?(value)
383
+ !value || allowable_values.include?(value)
384
+ end
385
+ end
386
+
387
+ # Attribute mapping from ruby-style variable name to JSON key.
388
+ def self.attribute_map
389
+ {
390
+ :'preset_name' => :'preset_name',
391
+ :'advanced_fps_conversion' => :'advanced_fps_conversion',
392
+ :'aspect_mode' => :'aspect_mode',
393
+ :'aspect_ratio' => :'aspect_ratio',
394
+ :'audio_bitrate' => :'audio_bitrate',
395
+ :'audio_channels' => :'audio_channels',
396
+ :'audio_channels_layout' => :'audio_channels_layout',
397
+ :'audio_channels_per_track' => :'audio_channels_per_track',
398
+ :'audio_codec' => :'audio_codec',
399
+ :'audio_format' => :'audio_format',
400
+ :'audio_pid' => :'audio_pid',
401
+ :'audio_profile' => :'audio_profile',
402
+ :'audio_sample_rate' => :'audio_sample_rate',
403
+ :'audio_streams' => :'audio_streams',
404
+ :'avcintra_class' => :'avcintra_class',
405
+ :'buffer_size' => :'buffer_size',
406
+ :'buffer_size_in_packets' => :'buffer_size_in_packets',
407
+ :'clip_length' => :'clip_length',
408
+ :'clip_offset' => :'clip_offset',
409
+ :'closed_captions' => :'closed_captions',
410
+ :'dash_profile' => :'dash_profile',
411
+ :'deinterlace' => :'deinterlace',
412
+ :'deinterlace_frames' => :'deinterlace_frames',
413
+ :'dnxhd_type' => :'dnxhd_type',
414
+ :'encryption' => :'encryption',
415
+ :'extname' => :'extname',
416
+ :'fps' => :'fps',
417
+ :'frame_offsets' => :'frame_offsets',
418
+ :'frame_interval' => :'frame_interval',
419
+ :'frame_count' => :'frame_count',
420
+ :'h264_level' => :'h264_level',
421
+ :'h264_profile' => :'h264_profile',
422
+ :'h264_tune' => :'h264_tune',
423
+ :'height' => :'height',
424
+ :'imx_type' => :'imx_type',
425
+ :'interlace' => :'interlace',
426
+ :'keyframe_interval' => :'keyframe_interval',
427
+ :'keyframe_rate' => :'keyframe_rate',
428
+ :'max_rate' => :'max_rate',
429
+ :'merge_audio_streams' => :'merge_audio_streams',
430
+ :'name' => :'name',
431
+ :'outputs_path_format' => :'outputs_path_format',
432
+ :'pmt_pid' => :'pmt_pid',
433
+ :'prores_format' => :'prores_format',
434
+ :'segment_time' => :'segment_time',
435
+ :'size' => :'size',
436
+ :'tar' => :'tar',
437
+ :'transport_rate' => :'transport_rate',
438
+ :'ts_pids' => :'ts_pids',
439
+ :'upscale' => :'upscale',
440
+ :'variants' => :'variants',
441
+ :'video_bitrate' => :'video_bitrate',
442
+ :'video_pid' => :'video_pid',
443
+ :'watermark_bottom' => :'watermark_bottom',
444
+ :'watermark_height' => :'watermark_height',
445
+ :'watermark_left' => :'watermark_left',
446
+ :'watermark_right' => :'watermark_right',
447
+ :'watermark_top' => :'watermark_top',
448
+ :'watermark_url' => :'watermark_url',
449
+ :'watermark_width' => :'watermark_width',
450
+ :'width' => :'width',
451
+ :'x264_options' => :'x264_options',
452
+ :'x265_options' => :'x265_options',
453
+ :'xdcam_format' => :'xdcam_format',
454
+ :'mute_audio_tracks' => :'mute_audio_tracks',
455
+ :'byte_range_requests' => :'byte_range_requests',
456
+ :'lang' => :'lang',
457
+ :'use_editlist' => :'use_editlist',
458
+ :'audio_map' => :'audio_map',
459
+ :'audio_stream_id' => :'audio_stream_id',
460
+ :'bumpers' => :'bumpers',
461
+ :'codec_preset' => :'codec_preset',
462
+ :'color_metadata' => :'color_metadata',
463
+ :'crop_input_bottom' => :'crop_input_bottom',
464
+ :'crop_input_height' => :'crop_input_height',
465
+ :'crop_input_left' => :'crop_input_left',
466
+ :'crop_input_right' => :'crop_input_right',
467
+ :'crop_input_top' => :'crop_input_top',
468
+ :'crop_input_width' => :'crop_input_width',
469
+ :'dynamic_recipe' => :'dynamic_recipe',
470
+ :'playlist_type' => :'playlist_type',
471
+ :'preset_version' => :'preset_version',
472
+ :'segment_delimiter' => :'segment_delimiter',
473
+ :'sws_flags' => :'sws_flags',
474
+ :'telestream_block_size' => :'telestream_block_size',
475
+ :'telestream_blur_scaler' => :'telestream_blur_scaler',
476
+ :'telestream_cost_scaler' => :'telestream_cost_scaler',
477
+ :'telestream_search_length_scaler' => :'telestream_search_length_scaler',
478
+ :'telestream_subpel_mode' => :'telestream_subpel_mode',
479
+ :'trailers' => :'trailers',
480
+ :'vantage_group_id' => :'vantage_group_id',
481
+ :'watermark_bumpers' => :'watermark_bumpers',
482
+ :'watermark_trailers' => :'watermark_trailers',
483
+ :'workorder_criteria' => :'workorder_criteria',
484
+ :'tachyon_allow_remove_pulldown' => :'tachyon_allow_remove_pulldown',
485
+ :'tachyon_enable_post_pulldown_filter' => :'tachyon_enable_post_pulldown_filter',
486
+ :'tachyon_media_hint_is_cartoon' => :'tachyon_media_hint_is_cartoon',
487
+ :'tachyon_media_hint_has_chroma_noise' => :'tachyon_media_hint_has_chroma_noise',
488
+ :'tachyon_more_sensitive_remove_pulldown' => :'tachyon_more_sensitive_remove_pulldown',
489
+ :'tachyon_allow_add_standard_pd' => :'tachyon_allow_add_standard_pd',
490
+ :'tachyon_allow_add_2_2pd' => :'tachyon_allow_add_2_2pd',
491
+ :'tachyon_allow_add_4_4pd' => :'tachyon_allow_add_4_4pd',
492
+ :'tachyon_allow_add_4_6pd' => :'tachyon_allow_add_4_6pd',
493
+ :'tachyon_allow_add_euro_pd' => :'tachyon_allow_add_euro_pd',
494
+ :'tachyon_allow_add_adaptive_pd' => :'tachyon_allow_add_adaptive_pd',
495
+ :'tachyon_motion_amount' => :'tachyon_motion_amount',
496
+ :'tachyon_fallback_size' => :'tachyon_fallback_size',
497
+ :'tachyon_mblock_size' => :'tachyon_mblock_size',
498
+ :'tachyon_cut_detection_sensitivity' => :'tachyon_cut_detection_sensitivity',
499
+ :'eac3_evolution_enable' => :'eac3_evolution_enable',
500
+ :'eac3_bitstream_mode' => :'eac3_bitstream_mode',
501
+ :'eac3_ninety_degree_phase_shift' => :'eac3_ninety_degree_phase_shift',
502
+ :'eac3_three_decibel_attenuation' => :'eac3_three_decibel_attenuation',
503
+ :'eac3_enable_lfe_low_pass_filter' => :'eac3_enable_lfe_low_pass_filter',
504
+ :'eac3_analog_to_digital_converter_type' => :'eac3_analog_to_digital_converter_type',
505
+ :'eac3_stereo_downmix_preference' => :'eac3_stereo_downmix_preference',
506
+ :'eac3_lt_rt_center_mix_level' => :'eac3_lt_rt_center_mix_level',
507
+ :'eac3_lt_rt_surround_mix_level' => :'eac3_lt_rt_surround_mix_level',
508
+ :'eac3_lo_ro_center_mix_level' => :'eac3_lo_ro_center_mix_level',
509
+ :'eac3_lo_ro_surround_mix_level' => :'eac3_lo_ro_surround_mix_level',
510
+ :'eac3_surround_ex_mode' => :'eac3_surround_ex_mode',
511
+ :'eac3_drc_line_mode_profile' => :'eac3_drc_line_mode_profile',
512
+ :'eac3_drc_rf_mode_profile' => :'eac3_drc_rf_mode_profile',
513
+ :'eac3_dialog_normalization' => :'eac3_dialog_normalization',
514
+ :'eac3_room_type' => :'eac3_room_type',
515
+ :'eac3_mixing_level' => :'eac3_mixing_level',
516
+ :'eac3_copyright_protected' => :'eac3_copyright_protected',
517
+ :'eac3_original_bitstream' => :'eac3_original_bitstream',
518
+ :'title' => :'title',
519
+ :'time_code' => :'time_code'
520
+ }
521
+ end
522
+
523
+ # Attribute type mapping.
524
+ def self.swagger_types
525
+ {
526
+ :'preset_name' => :'String',
527
+ :'advanced_fps_conversion' => :'String',
528
+ :'aspect_mode' => :'String',
529
+ :'aspect_ratio' => :'String',
530
+ :'audio_bitrate' => :'Integer',
531
+ :'audio_channels' => :'Integer',
532
+ :'audio_channels_layout' => :'String',
533
+ :'audio_channels_per_track' => :'String',
534
+ :'audio_codec' => :'String',
535
+ :'audio_format' => :'String',
536
+ :'audio_pid' => :'String',
537
+ :'audio_profile' => :'String',
538
+ :'audio_sample_rate' => :'Integer',
539
+ :'audio_streams' => :'Integer',
540
+ :'avcintra_class' => :'String',
541
+ :'buffer_size' => :'String',
542
+ :'buffer_size_in_packets' => :'String',
543
+ :'clip_length' => :'String',
544
+ :'clip_offset' => :'String',
545
+ :'closed_captions' => :'String',
546
+ :'dash_profile' => :'String',
547
+ :'deinterlace' => :'String',
548
+ :'deinterlace_frames' => :'String',
549
+ :'dnxhd_type' => :'String',
550
+ :'encryption' => :'BOOLEAN',
551
+ :'extname' => :'String',
552
+ :'fps' => :'Float',
553
+ :'frame_offsets' => :'String',
554
+ :'frame_interval' => :'String',
555
+ :'frame_count' => :'Integer',
556
+ :'h264_level' => :'String',
557
+ :'h264_profile' => :'String',
558
+ :'h264_tune' => :'String',
559
+ :'height' => :'Integer',
560
+ :'imx_type' => :'String',
561
+ :'interlace' => :'String',
562
+ :'keyframe_interval' => :'Integer',
563
+ :'keyframe_rate' => :'Float',
564
+ :'max_rate' => :'Integer',
565
+ :'merge_audio_streams' => :'String',
566
+ :'name' => :'String',
567
+ :'outputs_path_format' => :'String',
568
+ :'pmt_pid' => :'String',
569
+ :'prores_format' => :'String',
570
+ :'segment_time' => :'String',
571
+ :'size' => :'String',
572
+ :'tar' => :'BOOLEAN',
573
+ :'transport_rate' => :'String',
574
+ :'ts_pids' => :'String',
575
+ :'upscale' => :'BOOLEAN',
576
+ :'variants' => :'String',
577
+ :'video_bitrate' => :'Integer',
578
+ :'video_pid' => :'String',
579
+ :'watermark_bottom' => :'String',
580
+ :'watermark_height' => :'String',
581
+ :'watermark_left' => :'String',
582
+ :'watermark_right' => :'String',
583
+ :'watermark_top' => :'String',
584
+ :'watermark_url' => :'String',
585
+ :'watermark_width' => :'String',
586
+ :'width' => :'Integer',
587
+ :'x264_options' => :'String',
588
+ :'x265_options' => :'String',
589
+ :'xdcam_format' => :'String',
590
+ :'mute_audio_tracks' => :'BOOLEAN',
591
+ :'byte_range_requests' => :'String',
592
+ :'lang' => :'String',
593
+ :'use_editlist' => :'String',
594
+ :'audio_map' => :'String',
595
+ :'audio_stream_id' => :'String',
596
+ :'bumpers' => :'String',
597
+ :'codec_preset' => :'String',
598
+ :'color_metadata' => :'String',
599
+ :'crop_input_bottom' => :'String',
600
+ :'crop_input_height' => :'String',
601
+ :'crop_input_left' => :'String',
602
+ :'crop_input_right' => :'String',
603
+ :'crop_input_top' => :'String',
604
+ :'crop_input_width' => :'String',
605
+ :'dynamic_recipe' => :'String',
606
+ :'playlist_type' => :'String',
607
+ :'preset_version' => :'String',
608
+ :'segment_delimiter' => :'String',
609
+ :'sws_flags' => :'String',
610
+ :'telestream_block_size' => :'String',
611
+ :'telestream_blur_scaler' => :'String',
612
+ :'telestream_cost_scaler' => :'String',
613
+ :'telestream_search_length_scaler' => :'String',
614
+ :'telestream_subpel_mode' => :'String',
615
+ :'trailers' => :'String',
616
+ :'vantage_group_id' => :'String',
617
+ :'watermark_bumpers' => :'String',
618
+ :'watermark_trailers' => :'String',
619
+ :'workorder_criteria' => :'Object',
620
+ :'tachyon_allow_remove_pulldown' => :'BOOLEAN',
621
+ :'tachyon_enable_post_pulldown_filter' => :'BOOLEAN',
622
+ :'tachyon_media_hint_is_cartoon' => :'BOOLEAN',
623
+ :'tachyon_media_hint_has_chroma_noise' => :'BOOLEAN',
624
+ :'tachyon_more_sensitive_remove_pulldown' => :'BOOLEAN',
625
+ :'tachyon_allow_add_standard_pd' => :'BOOLEAN',
626
+ :'tachyon_allow_add_2_2pd' => :'BOOLEAN',
627
+ :'tachyon_allow_add_4_4pd' => :'BOOLEAN',
628
+ :'tachyon_allow_add_4_6pd' => :'BOOLEAN',
629
+ :'tachyon_allow_add_euro_pd' => :'BOOLEAN',
630
+ :'tachyon_allow_add_adaptive_pd' => :'BOOLEAN',
631
+ :'tachyon_motion_amount' => :'String',
632
+ :'tachyon_fallback_size' => :'String',
633
+ :'tachyon_mblock_size' => :'String',
634
+ :'tachyon_cut_detection_sensitivity' => :'Float',
635
+ :'eac3_evolution_enable' => :'BOOLEAN',
636
+ :'eac3_bitstream_mode' => :'String',
637
+ :'eac3_ninety_degree_phase_shift' => :'BOOLEAN',
638
+ :'eac3_three_decibel_attenuation' => :'BOOLEAN',
639
+ :'eac3_enable_lfe_low_pass_filter' => :'BOOLEAN',
640
+ :'eac3_analog_to_digital_converter_type' => :'String',
641
+ :'eac3_stereo_downmix_preference' => :'String',
642
+ :'eac3_lt_rt_center_mix_level' => :'String',
643
+ :'eac3_lt_rt_surround_mix_level' => :'String',
644
+ :'eac3_lo_ro_center_mix_level' => :'String',
645
+ :'eac3_lo_ro_surround_mix_level' => :'String',
646
+ :'eac3_surround_ex_mode' => :'String',
647
+ :'eac3_drc_line_mode_profile' => :'String',
648
+ :'eac3_drc_rf_mode_profile' => :'String',
649
+ :'eac3_dialog_normalization' => :'Integer',
650
+ :'eac3_room_type' => :'String',
651
+ :'eac3_mixing_level' => :'Integer',
652
+ :'eac3_copyright_protected' => :'BOOLEAN',
653
+ :'eac3_original_bitstream' => :'BOOLEAN',
654
+ :'title' => :'String',
655
+ :'time_code' => :'BOOLEAN'
656
+ }
657
+ end
658
+
659
+ # Initializes the object
660
+ # @param [Hash] attributes Model attributes in the form of hash
661
+ def initialize(attributes = {})
662
+ return unless attributes.is_a?(Hash)
663
+
664
+ # convert string to symbol for hash key
665
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
666
+
667
+ if attributes.has_key?(:'preset_name')
668
+ self.preset_name = attributes[:'preset_name']
669
+ end
670
+
671
+ if attributes.has_key?(:'advanced_fps_conversion')
672
+ self.advanced_fps_conversion = attributes[:'advanced_fps_conversion']
673
+ end
674
+
675
+ if attributes.has_key?(:'aspect_mode')
676
+ self.aspect_mode = attributes[:'aspect_mode']
677
+ end
678
+
679
+ if attributes.has_key?(:'aspect_ratio')
680
+ self.aspect_ratio = attributes[:'aspect_ratio']
681
+ end
682
+
683
+ if attributes.has_key?(:'audio_bitrate')
684
+ self.audio_bitrate = attributes[:'audio_bitrate']
685
+ end
686
+
687
+ if attributes.has_key?(:'audio_channels')
688
+ self.audio_channels = attributes[:'audio_channels']
689
+ end
690
+
691
+ if attributes.has_key?(:'audio_channels_layout')
692
+ self.audio_channels_layout = attributes[:'audio_channels_layout']
693
+ end
694
+
695
+ if attributes.has_key?(:'audio_channels_per_track')
696
+ self.audio_channels_per_track = attributes[:'audio_channels_per_track']
697
+ end
698
+
699
+ if attributes.has_key?(:'audio_codec')
700
+ self.audio_codec = attributes[:'audio_codec']
701
+ end
702
+
703
+ if attributes.has_key?(:'audio_format')
704
+ self.audio_format = attributes[:'audio_format']
705
+ end
706
+
707
+ if attributes.has_key?(:'audio_pid')
708
+ self.audio_pid = attributes[:'audio_pid']
709
+ end
710
+
711
+ if attributes.has_key?(:'audio_profile')
712
+ self.audio_profile = attributes[:'audio_profile']
713
+ end
714
+
715
+ if attributes.has_key?(:'audio_sample_rate')
716
+ self.audio_sample_rate = attributes[:'audio_sample_rate']
717
+ end
718
+
719
+ if attributes.has_key?(:'audio_streams')
720
+ self.audio_streams = attributes[:'audio_streams']
721
+ end
722
+
723
+ if attributes.has_key?(:'avcintra_class')
724
+ self.avcintra_class = attributes[:'avcintra_class']
725
+ end
726
+
727
+ if attributes.has_key?(:'buffer_size')
728
+ self.buffer_size = attributes[:'buffer_size']
729
+ end
730
+
731
+ if attributes.has_key?(:'buffer_size_in_packets')
732
+ self.buffer_size_in_packets = attributes[:'buffer_size_in_packets']
733
+ end
734
+
735
+ if attributes.has_key?(:'clip_length')
736
+ self.clip_length = attributes[:'clip_length']
737
+ end
738
+
739
+ if attributes.has_key?(:'clip_offset')
740
+ self.clip_offset = attributes[:'clip_offset']
741
+ end
742
+
743
+ if attributes.has_key?(:'closed_captions')
744
+ self.closed_captions = attributes[:'closed_captions']
745
+ end
746
+
747
+ if attributes.has_key?(:'dash_profile')
748
+ self.dash_profile = attributes[:'dash_profile']
749
+ end
750
+
751
+ if attributes.has_key?(:'deinterlace')
752
+ self.deinterlace = attributes[:'deinterlace']
753
+ end
754
+
755
+ if attributes.has_key?(:'deinterlace_frames')
756
+ self.deinterlace_frames = attributes[:'deinterlace_frames']
757
+ end
758
+
759
+ if attributes.has_key?(:'dnxhd_type')
760
+ self.dnxhd_type = attributes[:'dnxhd_type']
761
+ end
762
+
763
+ if attributes.has_key?(:'encryption')
764
+ self.encryption = attributes[:'encryption']
765
+ end
766
+
767
+ if attributes.has_key?(:'extname')
768
+ self.extname = attributes[:'extname']
769
+ end
770
+
771
+ if attributes.has_key?(:'fps')
772
+ self.fps = attributes[:'fps']
773
+ end
774
+
775
+ if attributes.has_key?(:'frame_offsets')
776
+ self.frame_offsets = attributes[:'frame_offsets']
777
+ end
778
+
779
+ if attributes.has_key?(:'frame_interval')
780
+ self.frame_interval = attributes[:'frame_interval']
781
+ end
782
+
783
+ if attributes.has_key?(:'frame_count')
784
+ self.frame_count = attributes[:'frame_count']
785
+ end
786
+
787
+ if attributes.has_key?(:'h264_level')
788
+ self.h264_level = attributes[:'h264_level']
789
+ end
790
+
791
+ if attributes.has_key?(:'h264_profile')
792
+ self.h264_profile = attributes[:'h264_profile']
793
+ end
794
+
795
+ if attributes.has_key?(:'h264_tune')
796
+ self.h264_tune = attributes[:'h264_tune']
797
+ end
798
+
799
+ if attributes.has_key?(:'height')
800
+ self.height = attributes[:'height']
801
+ end
802
+
803
+ if attributes.has_key?(:'imx_type')
804
+ self.imx_type = attributes[:'imx_type']
805
+ end
806
+
807
+ if attributes.has_key?(:'interlace')
808
+ self.interlace = attributes[:'interlace']
809
+ end
810
+
811
+ if attributes.has_key?(:'keyframe_interval')
812
+ self.keyframe_interval = attributes[:'keyframe_interval']
813
+ end
814
+
815
+ if attributes.has_key?(:'keyframe_rate')
816
+ self.keyframe_rate = attributes[:'keyframe_rate']
817
+ end
818
+
819
+ if attributes.has_key?(:'max_rate')
820
+ self.max_rate = attributes[:'max_rate']
821
+ end
822
+
823
+ if attributes.has_key?(:'merge_audio_streams')
824
+ self.merge_audio_streams = attributes[:'merge_audio_streams']
825
+ end
826
+
827
+ if attributes.has_key?(:'name')
828
+ self.name = attributes[:'name']
829
+ end
830
+
831
+ if attributes.has_key?(:'outputs_path_format')
832
+ self.outputs_path_format = attributes[:'outputs_path_format']
833
+ end
834
+
835
+ if attributes.has_key?(:'pmt_pid')
836
+ self.pmt_pid = attributes[:'pmt_pid']
837
+ end
838
+
839
+ if attributes.has_key?(:'prores_format')
840
+ self.prores_format = attributes[:'prores_format']
841
+ end
842
+
843
+ if attributes.has_key?(:'segment_time')
844
+ self.segment_time = attributes[:'segment_time']
845
+ end
846
+
847
+ if attributes.has_key?(:'size')
848
+ self.size = attributes[:'size']
849
+ end
850
+
851
+ if attributes.has_key?(:'tar')
852
+ self.tar = attributes[:'tar']
853
+ end
854
+
855
+ if attributes.has_key?(:'transport_rate')
856
+ self.transport_rate = attributes[:'transport_rate']
857
+ end
858
+
859
+ if attributes.has_key?(:'ts_pids')
860
+ self.ts_pids = attributes[:'ts_pids']
861
+ end
862
+
863
+ if attributes.has_key?(:'upscale')
864
+ self.upscale = attributes[:'upscale']
865
+ end
866
+
867
+ if attributes.has_key?(:'variants')
868
+ self.variants = attributes[:'variants']
869
+ end
870
+
871
+ if attributes.has_key?(:'video_bitrate')
872
+ self.video_bitrate = attributes[:'video_bitrate']
873
+ end
874
+
875
+ if attributes.has_key?(:'video_pid')
876
+ self.video_pid = attributes[:'video_pid']
877
+ end
878
+
879
+ if attributes.has_key?(:'watermark_bottom')
880
+ self.watermark_bottom = attributes[:'watermark_bottom']
881
+ end
882
+
883
+ if attributes.has_key?(:'watermark_height')
884
+ self.watermark_height = attributes[:'watermark_height']
885
+ end
886
+
887
+ if attributes.has_key?(:'watermark_left')
888
+ self.watermark_left = attributes[:'watermark_left']
889
+ end
890
+
891
+ if attributes.has_key?(:'watermark_right')
892
+ self.watermark_right = attributes[:'watermark_right']
893
+ end
894
+
895
+ if attributes.has_key?(:'watermark_top')
896
+ self.watermark_top = attributes[:'watermark_top']
897
+ end
898
+
899
+ if attributes.has_key?(:'watermark_url')
900
+ self.watermark_url = attributes[:'watermark_url']
901
+ end
902
+
903
+ if attributes.has_key?(:'watermark_width')
904
+ self.watermark_width = attributes[:'watermark_width']
905
+ end
906
+
907
+ if attributes.has_key?(:'width')
908
+ self.width = attributes[:'width']
909
+ end
910
+
911
+ if attributes.has_key?(:'x264_options')
912
+ self.x264_options = attributes[:'x264_options']
913
+ end
914
+
915
+ if attributes.has_key?(:'x265_options')
916
+ self.x265_options = attributes[:'x265_options']
917
+ end
918
+
919
+ if attributes.has_key?(:'xdcam_format')
920
+ self.xdcam_format = attributes[:'xdcam_format']
921
+ end
922
+
923
+ if attributes.has_key?(:'mute_audio_tracks')
924
+ self.mute_audio_tracks = attributes[:'mute_audio_tracks']
925
+ end
926
+
927
+ if attributes.has_key?(:'byte_range_requests')
928
+ self.byte_range_requests = attributes[:'byte_range_requests']
929
+ end
930
+
931
+ if attributes.has_key?(:'lang')
932
+ self.lang = attributes[:'lang']
933
+ end
934
+
935
+ if attributes.has_key?(:'use_editlist')
936
+ self.use_editlist = attributes[:'use_editlist']
937
+ end
938
+
939
+ if attributes.has_key?(:'audio_map')
940
+ self.audio_map = attributes[:'audio_map']
941
+ end
942
+
943
+ if attributes.has_key?(:'audio_stream_id')
944
+ self.audio_stream_id = attributes[:'audio_stream_id']
945
+ end
946
+
947
+ if attributes.has_key?(:'bumpers')
948
+ self.bumpers = attributes[:'bumpers']
949
+ end
950
+
951
+ if attributes.has_key?(:'codec_preset')
952
+ self.codec_preset = attributes[:'codec_preset']
953
+ end
954
+
955
+ if attributes.has_key?(:'color_metadata')
956
+ self.color_metadata = attributes[:'color_metadata']
957
+ end
958
+
959
+ if attributes.has_key?(:'crop_input_bottom')
960
+ self.crop_input_bottom = attributes[:'crop_input_bottom']
961
+ end
962
+
963
+ if attributes.has_key?(:'crop_input_height')
964
+ self.crop_input_height = attributes[:'crop_input_height']
965
+ end
966
+
967
+ if attributes.has_key?(:'crop_input_left')
968
+ self.crop_input_left = attributes[:'crop_input_left']
969
+ end
970
+
971
+ if attributes.has_key?(:'crop_input_right')
972
+ self.crop_input_right = attributes[:'crop_input_right']
973
+ end
974
+
975
+ if attributes.has_key?(:'crop_input_top')
976
+ self.crop_input_top = attributes[:'crop_input_top']
977
+ end
978
+
979
+ if attributes.has_key?(:'crop_input_width')
980
+ self.crop_input_width = attributes[:'crop_input_width']
981
+ end
982
+
983
+ if attributes.has_key?(:'dynamic_recipe')
984
+ self.dynamic_recipe = attributes[:'dynamic_recipe']
985
+ end
986
+
987
+ if attributes.has_key?(:'playlist_type')
988
+ self.playlist_type = attributes[:'playlist_type']
989
+ end
990
+
991
+ if attributes.has_key?(:'preset_version')
992
+ self.preset_version = attributes[:'preset_version']
993
+ end
994
+
995
+ if attributes.has_key?(:'segment_delimiter')
996
+ self.segment_delimiter = attributes[:'segment_delimiter']
997
+ end
998
+
999
+ if attributes.has_key?(:'sws_flags')
1000
+ self.sws_flags = attributes[:'sws_flags']
1001
+ end
1002
+
1003
+ if attributes.has_key?(:'telestream_block_size')
1004
+ self.telestream_block_size = attributes[:'telestream_block_size']
1005
+ end
1006
+
1007
+ if attributes.has_key?(:'telestream_blur_scaler')
1008
+ self.telestream_blur_scaler = attributes[:'telestream_blur_scaler']
1009
+ end
1010
+
1011
+ if attributes.has_key?(:'telestream_cost_scaler')
1012
+ self.telestream_cost_scaler = attributes[:'telestream_cost_scaler']
1013
+ end
1014
+
1015
+ if attributes.has_key?(:'telestream_search_length_scaler')
1016
+ self.telestream_search_length_scaler = attributes[:'telestream_search_length_scaler']
1017
+ end
1018
+
1019
+ if attributes.has_key?(:'telestream_subpel_mode')
1020
+ self.telestream_subpel_mode = attributes[:'telestream_subpel_mode']
1021
+ end
1022
+
1023
+ if attributes.has_key?(:'trailers')
1024
+ self.trailers = attributes[:'trailers']
1025
+ end
1026
+
1027
+ if attributes.has_key?(:'vantage_group_id')
1028
+ self.vantage_group_id = attributes[:'vantage_group_id']
1029
+ end
1030
+
1031
+ if attributes.has_key?(:'watermark_bumpers')
1032
+ self.watermark_bumpers = attributes[:'watermark_bumpers']
1033
+ end
1034
+
1035
+ if attributes.has_key?(:'watermark_trailers')
1036
+ self.watermark_trailers = attributes[:'watermark_trailers']
1037
+ end
1038
+
1039
+ if attributes.has_key?(:'workorder_criteria')
1040
+ self.workorder_criteria = attributes[:'workorder_criteria']
1041
+ end
1042
+
1043
+ if attributes.has_key?(:'tachyon_allow_remove_pulldown')
1044
+ self.tachyon_allow_remove_pulldown = attributes[:'tachyon_allow_remove_pulldown']
1045
+ end
1046
+
1047
+ if attributes.has_key?(:'tachyon_enable_post_pulldown_filter')
1048
+ self.tachyon_enable_post_pulldown_filter = attributes[:'tachyon_enable_post_pulldown_filter']
1049
+ end
1050
+
1051
+ if attributes.has_key?(:'tachyon_media_hint_is_cartoon')
1052
+ self.tachyon_media_hint_is_cartoon = attributes[:'tachyon_media_hint_is_cartoon']
1053
+ end
1054
+
1055
+ if attributes.has_key?(:'tachyon_media_hint_has_chroma_noise')
1056
+ self.tachyon_media_hint_has_chroma_noise = attributes[:'tachyon_media_hint_has_chroma_noise']
1057
+ end
1058
+
1059
+ if attributes.has_key?(:'tachyon_more_sensitive_remove_pulldown')
1060
+ self.tachyon_more_sensitive_remove_pulldown = attributes[:'tachyon_more_sensitive_remove_pulldown']
1061
+ end
1062
+
1063
+ if attributes.has_key?(:'tachyon_allow_add_standard_pd')
1064
+ self.tachyon_allow_add_standard_pd = attributes[:'tachyon_allow_add_standard_pd']
1065
+ end
1066
+
1067
+ if attributes.has_key?(:'tachyon_allow_add_2_2pd')
1068
+ self.tachyon_allow_add_2_2pd = attributes[:'tachyon_allow_add_2_2pd']
1069
+ end
1070
+
1071
+ if attributes.has_key?(:'tachyon_allow_add_4_4pd')
1072
+ self.tachyon_allow_add_4_4pd = attributes[:'tachyon_allow_add_4_4pd']
1073
+ end
1074
+
1075
+ if attributes.has_key?(:'tachyon_allow_add_4_6pd')
1076
+ self.tachyon_allow_add_4_6pd = attributes[:'tachyon_allow_add_4_6pd']
1077
+ end
1078
+
1079
+ if attributes.has_key?(:'tachyon_allow_add_euro_pd')
1080
+ self.tachyon_allow_add_euro_pd = attributes[:'tachyon_allow_add_euro_pd']
1081
+ end
1082
+
1083
+ if attributes.has_key?(:'tachyon_allow_add_adaptive_pd')
1084
+ self.tachyon_allow_add_adaptive_pd = attributes[:'tachyon_allow_add_adaptive_pd']
1085
+ end
1086
+
1087
+ if attributes.has_key?(:'tachyon_motion_amount')
1088
+ self.tachyon_motion_amount = attributes[:'tachyon_motion_amount']
1089
+ end
1090
+
1091
+ if attributes.has_key?(:'tachyon_fallback_size')
1092
+ self.tachyon_fallback_size = attributes[:'tachyon_fallback_size']
1093
+ end
1094
+
1095
+ if attributes.has_key?(:'tachyon_mblock_size')
1096
+ self.tachyon_mblock_size = attributes[:'tachyon_mblock_size']
1097
+ end
1098
+
1099
+ if attributes.has_key?(:'tachyon_cut_detection_sensitivity')
1100
+ self.tachyon_cut_detection_sensitivity = attributes[:'tachyon_cut_detection_sensitivity']
1101
+ end
1102
+
1103
+ if attributes.has_key?(:'eac3_evolution_enable')
1104
+ self.eac3_evolution_enable = attributes[:'eac3_evolution_enable']
1105
+ end
1106
+
1107
+ if attributes.has_key?(:'eac3_bitstream_mode')
1108
+ self.eac3_bitstream_mode = attributes[:'eac3_bitstream_mode']
1109
+ end
1110
+
1111
+ if attributes.has_key?(:'eac3_ninety_degree_phase_shift')
1112
+ self.eac3_ninety_degree_phase_shift = attributes[:'eac3_ninety_degree_phase_shift']
1113
+ end
1114
+
1115
+ if attributes.has_key?(:'eac3_three_decibel_attenuation')
1116
+ self.eac3_three_decibel_attenuation = attributes[:'eac3_three_decibel_attenuation']
1117
+ end
1118
+
1119
+ if attributes.has_key?(:'eac3_enable_lfe_low_pass_filter')
1120
+ self.eac3_enable_lfe_low_pass_filter = attributes[:'eac3_enable_lfe_low_pass_filter']
1121
+ end
1122
+
1123
+ if attributes.has_key?(:'eac3_analog_to_digital_converter_type')
1124
+ self.eac3_analog_to_digital_converter_type = attributes[:'eac3_analog_to_digital_converter_type']
1125
+ end
1126
+
1127
+ if attributes.has_key?(:'eac3_stereo_downmix_preference')
1128
+ self.eac3_stereo_downmix_preference = attributes[:'eac3_stereo_downmix_preference']
1129
+ end
1130
+
1131
+ if attributes.has_key?(:'eac3_lt_rt_center_mix_level')
1132
+ self.eac3_lt_rt_center_mix_level = attributes[:'eac3_lt_rt_center_mix_level']
1133
+ end
1134
+
1135
+ if attributes.has_key?(:'eac3_lt_rt_surround_mix_level')
1136
+ self.eac3_lt_rt_surround_mix_level = attributes[:'eac3_lt_rt_surround_mix_level']
1137
+ end
1138
+
1139
+ if attributes.has_key?(:'eac3_lo_ro_center_mix_level')
1140
+ self.eac3_lo_ro_center_mix_level = attributes[:'eac3_lo_ro_center_mix_level']
1141
+ end
1142
+
1143
+ if attributes.has_key?(:'eac3_lo_ro_surround_mix_level')
1144
+ self.eac3_lo_ro_surround_mix_level = attributes[:'eac3_lo_ro_surround_mix_level']
1145
+ end
1146
+
1147
+ if attributes.has_key?(:'eac3_surround_ex_mode')
1148
+ self.eac3_surround_ex_mode = attributes[:'eac3_surround_ex_mode']
1149
+ end
1150
+
1151
+ if attributes.has_key?(:'eac3_drc_line_mode_profile')
1152
+ self.eac3_drc_line_mode_profile = attributes[:'eac3_drc_line_mode_profile']
1153
+ end
1154
+
1155
+ if attributes.has_key?(:'eac3_drc_rf_mode_profile')
1156
+ self.eac3_drc_rf_mode_profile = attributes[:'eac3_drc_rf_mode_profile']
1157
+ end
1158
+
1159
+ if attributes.has_key?(:'eac3_dialog_normalization')
1160
+ self.eac3_dialog_normalization = attributes[:'eac3_dialog_normalization']
1161
+ end
1162
+
1163
+ if attributes.has_key?(:'eac3_room_type')
1164
+ self.eac3_room_type = attributes[:'eac3_room_type']
1165
+ end
1166
+
1167
+ if attributes.has_key?(:'eac3_mixing_level')
1168
+ self.eac3_mixing_level = attributes[:'eac3_mixing_level']
1169
+ end
1170
+
1171
+ if attributes.has_key?(:'eac3_copyright_protected')
1172
+ self.eac3_copyright_protected = attributes[:'eac3_copyright_protected']
1173
+ end
1174
+
1175
+ if attributes.has_key?(:'eac3_original_bitstream')
1176
+ self.eac3_original_bitstream = attributes[:'eac3_original_bitstream']
1177
+ end
1178
+
1179
+ if attributes.has_key?(:'title')
1180
+ self.title = attributes[:'title']
1181
+ end
1182
+
1183
+ if attributes.has_key?(:'time_code')
1184
+ self.time_code = attributes[:'time_code']
1185
+ end
1186
+
1187
+ end
1188
+
1189
+ # Show invalid properties with the reasons. Usually used together with valid?
1190
+ # @return Array for valid properties with the reasons
1191
+ def list_invalid_properties
1192
+ invalid_properties = Array.new
1193
+ if @preset_name.nil?
1194
+ invalid_properties.push("invalid value for 'preset_name', preset_name cannot be nil.")
1195
+ end
1196
+
1197
+ return invalid_properties
1198
+ end
1199
+
1200
+ # Check to see if the all the properties in the model are valid
1201
+ # @return true if the model is valid
1202
+ def valid?
1203
+ return false if @preset_name.nil?
1204
+ preset_name_validator = EnumAttributeValidator.new('String', ["aac", "avc.intra", "crocodoc", "dash.variant", "dash.variant.audio", "dash.variant.webvtt", "dash.variant.ttml", "dash.variant.playlist", "dash.variant.nvenc", "dash.muxer", "dash.muxer.audio", "dnxhd", "h264", "h264.baseline", "h264.nvenc.telestream.mov", "h264.nvenc", "h265", "h265.4K", "hls.muxer", "hls.muxer.audio", "hls.variant", "hls.variant.audio", "hls.variant.playlist", "hls.variant.nvenc", "hls.variant.webvtt", "hss", "hss.variant", "hss.variant.audio", "hss.variant.playlist", "imx", "iphone_and_ipad", "jpeg", "m4a", "mp3", "mpeg2", "mpegps", "mpegts.h264", "mpegts.mpeg2", "oga", "ogg", "png", "prores422", "quick_one_thumbnail", "thumbnail", "transcript", "vorbis", "webm", "webm.vp8", "webm.vp9", "xdcam"])
1205
+ return false unless preset_name_validator.valid?(@preset_name)
1206
+ advanced_fps_conversion_validator = EnumAttributeValidator.new('String', ["telestream", "tachyon"])
1207
+ return false unless advanced_fps_conversion_validator.valid?(@advanced_fps_conversion)
1208
+ aspect_mode_validator = EnumAttributeValidator.new('String', ["preserve", "constrain", "letterbox", "pad", "fill (crop)", "stretch", "center"])
1209
+ return false unless aspect_mode_validator.valid?(@aspect_mode)
1210
+ audio_channels_layout_validator = EnumAttributeValidator.new('String', ["1.0", "2.0", "2.1", "3.0", "3.0(back)", "3.1", "4.0", "4.1", "quad", "5.0", "5.0(side)", "5.1(side)", "6.0", "6.1", "7.0", "7.1", "mono", "stereo"])
1211
+ return false unless audio_channels_layout_validator.valid?(@audio_channels_layout)
1212
+ avcintra_class_validator = EnumAttributeValidator.new('String', ["50", "100"])
1213
+ return false unless avcintra_class_validator.valid?(@avcintra_class)
1214
+ closed_captions_validator = EnumAttributeValidator.new('String', ["add", "burn"])
1215
+ return false unless closed_captions_validator.valid?(@closed_captions)
1216
+ deinterlace_validator = EnumAttributeValidator.new('String', ["keep_fps", "double_fps"])
1217
+ return false unless deinterlace_validator.valid?(@deinterlace)
1218
+ h264_level_validator = EnumAttributeValidator.new('String', ["1.0", "1b", "1.1", "1.2", "1.3", "2.0", "2.1", "2.2", "3.0", "3.1", "3.2", "4.0", "4.1", "4.2", "5.0", "5.1"])
1219
+ return false unless h264_level_validator.valid?(@h264_level)
1220
+ h264_profile_validator = EnumAttributeValidator.new('String', ["baseline", "main", "high", "high10", "high422", "high444"])
1221
+ return false unless h264_profile_validator.valid?(@h264_profile)
1222
+ h264_tune_validator = EnumAttributeValidator.new('String', ["film", "animation", "grain", "psnr", "ssim", "fastdecode", "zerolatency"])
1223
+ return false unless h264_tune_validator.valid?(@h264_tune)
1224
+ codec_preset_validator = EnumAttributeValidator.new('String', ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"])
1225
+ return false unless codec_preset_validator.valid?(@codec_preset)
1226
+ telestream_block_size_validator = EnumAttributeValidator.new('String', ["16x16", "24x24", "32x32"])
1227
+ return false unless telestream_block_size_validator.valid?(@telestream_block_size)
1228
+ tachyon_motion_amount_validator = EnumAttributeValidator.new('String', ["xlow", "low", "medium", "high", "xhigh", "auto"])
1229
+ return false unless tachyon_motion_amount_validator.valid?(@tachyon_motion_amount)
1230
+ tachyon_fallback_size_validator = EnumAttributeValidator.new('String', ["small", "medium", "large", "xlarge", "auto"])
1231
+ return false unless tachyon_fallback_size_validator.valid?(@tachyon_fallback_size)
1232
+ tachyon_mblock_size_validator = EnumAttributeValidator.new('String', ["mb16", "mb32", "mb64", "mb128", "mb256", "auto"])
1233
+ return false unless tachyon_mblock_size_validator.valid?(@tachyon_mblock_size)
1234
+ eac3_bitstream_mode_validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2", "m3", "m4", "m5", "m6", "m7"])
1235
+ return false unless eac3_bitstream_mode_validator.valid?(@eac3_bitstream_mode)
1236
+ eac3_stereo_downmix_preference_validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2", "m3"])
1237
+ return false unless eac3_stereo_downmix_preference_validator.valid?(@eac3_stereo_downmix_preference)
1238
+ eac3_lt_rt_center_mix_level_validator = EnumAttributeValidator.new('String', ["c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7"])
1239
+ return false unless eac3_lt_rt_center_mix_level_validator.valid?(@eac3_lt_rt_center_mix_level)
1240
+ eac3_lt_rt_surround_mix_level_validator = EnumAttributeValidator.new('String', ["c3", "c4", "c5", "c6", "c7"])
1241
+ return false unless eac3_lt_rt_surround_mix_level_validator.valid?(@eac3_lt_rt_surround_mix_level)
1242
+ eac3_lo_ro_center_mix_level_validator = EnumAttributeValidator.new('String', ["c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7"])
1243
+ return false unless eac3_lo_ro_center_mix_level_validator.valid?(@eac3_lo_ro_center_mix_level)
1244
+ eac3_lo_ro_surround_mix_level_validator = EnumAttributeValidator.new('String', ["c3", "c4", "c5", "c6", "c7"])
1245
+ return false unless eac3_lo_ro_surround_mix_level_validator.valid?(@eac3_lo_ro_surround_mix_level)
1246
+ eac3_surround_ex_mode_validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2"])
1247
+ return false unless eac3_surround_ex_mode_validator.valid?(@eac3_surround_ex_mode)
1248
+ eac3_drc_line_mode_profile_validator = EnumAttributeValidator.new('String', ["p0", "p1", "p2", "p3", "p4", "p5"])
1249
+ return false unless eac3_drc_line_mode_profile_validator.valid?(@eac3_drc_line_mode_profile)
1250
+ eac3_drc_rf_mode_profile_validator = EnumAttributeValidator.new('String', ["p0", "p1", "p2", "p3", "p4", "p5"])
1251
+ return false unless eac3_drc_rf_mode_profile_validator.valid?(@eac3_drc_rf_mode_profile)
1252
+ eac3_room_type_validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2"])
1253
+ return false unless eac3_room_type_validator.valid?(@eac3_room_type)
1254
+ return true
1255
+ end
1256
+
1257
+ # Custom attribute writer method checking allowed values (enum).
1258
+ # @param [Object] preset_name Object to be assigned
1259
+ def preset_name=(preset_name)
1260
+ validator = EnumAttributeValidator.new('String', ["aac", "avc.intra", "crocodoc", "dash.variant", "dash.variant.audio", "dash.variant.webvtt", "dash.variant.ttml", "dash.variant.playlist", "dash.variant.nvenc", "dash.muxer", "dash.muxer.audio", "dnxhd", "h264", "h264.baseline", "h264.nvenc.telestream.mov", "h264.nvenc", "h265", "h265.4K", "hls.muxer", "hls.muxer.audio", "hls.variant", "hls.variant.audio", "hls.variant.playlist", "hls.variant.nvenc", "hls.variant.webvtt", "hss", "hss.variant", "hss.variant.audio", "hss.variant.playlist", "imx", "iphone_and_ipad", "jpeg", "m4a", "mp3", "mpeg2", "mpegps", "mpegts.h264", "mpegts.mpeg2", "oga", "ogg", "png", "prores422", "quick_one_thumbnail", "thumbnail", "transcript", "vorbis", "webm", "webm.vp8", "webm.vp9", "xdcam"])
1261
+ unless validator.valid?(preset_name)
1262
+ fail ArgumentError, "invalid value for 'preset_name', must be one of #{validator.allowable_values}."
1263
+ end
1264
+ @preset_name = preset_name
1265
+ end
1266
+
1267
+ # Custom attribute writer method checking allowed values (enum).
1268
+ # @param [Object] advanced_fps_conversion Object to be assigned
1269
+ def advanced_fps_conversion=(advanced_fps_conversion)
1270
+ validator = EnumAttributeValidator.new('String', ["telestream", "tachyon"])
1271
+ unless validator.valid?(advanced_fps_conversion)
1272
+ fail ArgumentError, "invalid value for 'advanced_fps_conversion', must be one of #{validator.allowable_values}."
1273
+ end
1274
+ @advanced_fps_conversion = advanced_fps_conversion
1275
+ end
1276
+
1277
+ # Custom attribute writer method checking allowed values (enum).
1278
+ # @param [Object] aspect_mode Object to be assigned
1279
+ def aspect_mode=(aspect_mode)
1280
+ validator = EnumAttributeValidator.new('String', ["preserve", "constrain", "letterbox", "pad", "fill (crop)", "stretch", "center"])
1281
+ unless validator.valid?(aspect_mode)
1282
+ fail ArgumentError, "invalid value for 'aspect_mode', must be one of #{validator.allowable_values}."
1283
+ end
1284
+ @aspect_mode = aspect_mode
1285
+ end
1286
+
1287
+ # Custom attribute writer method checking allowed values (enum).
1288
+ # @param [Object] audio_channels_layout Object to be assigned
1289
+ def audio_channels_layout=(audio_channels_layout)
1290
+ validator = EnumAttributeValidator.new('String', ["1.0", "2.0", "2.1", "3.0", "3.0(back)", "3.1", "4.0", "4.1", "quad", "5.0", "5.0(side)", "5.1(side)", "6.0", "6.1", "7.0", "7.1", "mono", "stereo"])
1291
+ unless validator.valid?(audio_channels_layout)
1292
+ fail ArgumentError, "invalid value for 'audio_channels_layout', must be one of #{validator.allowable_values}."
1293
+ end
1294
+ @audio_channels_layout = audio_channels_layout
1295
+ end
1296
+
1297
+ # Custom attribute writer method checking allowed values (enum).
1298
+ # @param [Object] avcintra_class Object to be assigned
1299
+ def avcintra_class=(avcintra_class)
1300
+ validator = EnumAttributeValidator.new('String', ["50", "100"])
1301
+ unless validator.valid?(avcintra_class)
1302
+ fail ArgumentError, "invalid value for 'avcintra_class', must be one of #{validator.allowable_values}."
1303
+ end
1304
+ @avcintra_class = avcintra_class
1305
+ end
1306
+
1307
+ # Custom attribute writer method checking allowed values (enum).
1308
+ # @param [Object] closed_captions Object to be assigned
1309
+ def closed_captions=(closed_captions)
1310
+ validator = EnumAttributeValidator.new('String', ["add", "burn"])
1311
+ unless validator.valid?(closed_captions)
1312
+ fail ArgumentError, "invalid value for 'closed_captions', must be one of #{validator.allowable_values}."
1313
+ end
1314
+ @closed_captions = closed_captions
1315
+ end
1316
+
1317
+ # Custom attribute writer method checking allowed values (enum).
1318
+ # @param [Object] deinterlace Object to be assigned
1319
+ def deinterlace=(deinterlace)
1320
+ validator = EnumAttributeValidator.new('String', ["keep_fps", "double_fps"])
1321
+ unless validator.valid?(deinterlace)
1322
+ fail ArgumentError, "invalid value for 'deinterlace', must be one of #{validator.allowable_values}."
1323
+ end
1324
+ @deinterlace = deinterlace
1325
+ end
1326
+
1327
+ # Custom attribute writer method checking allowed values (enum).
1328
+ # @param [Object] h264_level Object to be assigned
1329
+ def h264_level=(h264_level)
1330
+ validator = EnumAttributeValidator.new('String', ["1.0", "1b", "1.1", "1.2", "1.3", "2.0", "2.1", "2.2", "3.0", "3.1", "3.2", "4.0", "4.1", "4.2", "5.0", "5.1"])
1331
+ unless validator.valid?(h264_level)
1332
+ fail ArgumentError, "invalid value for 'h264_level', must be one of #{validator.allowable_values}."
1333
+ end
1334
+ @h264_level = h264_level
1335
+ end
1336
+
1337
+ # Custom attribute writer method checking allowed values (enum).
1338
+ # @param [Object] h264_profile Object to be assigned
1339
+ def h264_profile=(h264_profile)
1340
+ validator = EnumAttributeValidator.new('String', ["baseline", "main", "high", "high10", "high422", "high444"])
1341
+ unless validator.valid?(h264_profile)
1342
+ fail ArgumentError, "invalid value for 'h264_profile', must be one of #{validator.allowable_values}."
1343
+ end
1344
+ @h264_profile = h264_profile
1345
+ end
1346
+
1347
+ # Custom attribute writer method checking allowed values (enum).
1348
+ # @param [Object] h264_tune Object to be assigned
1349
+ def h264_tune=(h264_tune)
1350
+ validator = EnumAttributeValidator.new('String', ["film", "animation", "grain", "psnr", "ssim", "fastdecode", "zerolatency"])
1351
+ unless validator.valid?(h264_tune)
1352
+ fail ArgumentError, "invalid value for 'h264_tune', must be one of #{validator.allowable_values}."
1353
+ end
1354
+ @h264_tune = h264_tune
1355
+ end
1356
+
1357
+ # Custom attribute writer method checking allowed values (enum).
1358
+ # @param [Object] codec_preset Object to be assigned
1359
+ def codec_preset=(codec_preset)
1360
+ validator = EnumAttributeValidator.new('String', ["ultrafast", "superfast", "veryfast", "faster", "fast", "medium", "slow", "slower", "veryslow", "placebo"])
1361
+ unless validator.valid?(codec_preset)
1362
+ fail ArgumentError, "invalid value for 'codec_preset', must be one of #{validator.allowable_values}."
1363
+ end
1364
+ @codec_preset = codec_preset
1365
+ end
1366
+
1367
+ # Custom attribute writer method checking allowed values (enum).
1368
+ # @param [Object] telestream_block_size Object to be assigned
1369
+ def telestream_block_size=(telestream_block_size)
1370
+ validator = EnumAttributeValidator.new('String', ["16x16", "24x24", "32x32"])
1371
+ unless validator.valid?(telestream_block_size)
1372
+ fail ArgumentError, "invalid value for 'telestream_block_size', must be one of #{validator.allowable_values}."
1373
+ end
1374
+ @telestream_block_size = telestream_block_size
1375
+ end
1376
+
1377
+ # Custom attribute writer method checking allowed values (enum).
1378
+ # @param [Object] tachyon_motion_amount Object to be assigned
1379
+ def tachyon_motion_amount=(tachyon_motion_amount)
1380
+ validator = EnumAttributeValidator.new('String', ["xlow", "low", "medium", "high", "xhigh", "auto"])
1381
+ unless validator.valid?(tachyon_motion_amount)
1382
+ fail ArgumentError, "invalid value for 'tachyon_motion_amount', must be one of #{validator.allowable_values}."
1383
+ end
1384
+ @tachyon_motion_amount = tachyon_motion_amount
1385
+ end
1386
+
1387
+ # Custom attribute writer method checking allowed values (enum).
1388
+ # @param [Object] tachyon_fallback_size Object to be assigned
1389
+ def tachyon_fallback_size=(tachyon_fallback_size)
1390
+ validator = EnumAttributeValidator.new('String', ["small", "medium", "large", "xlarge", "auto"])
1391
+ unless validator.valid?(tachyon_fallback_size)
1392
+ fail ArgumentError, "invalid value for 'tachyon_fallback_size', must be one of #{validator.allowable_values}."
1393
+ end
1394
+ @tachyon_fallback_size = tachyon_fallback_size
1395
+ end
1396
+
1397
+ # Custom attribute writer method checking allowed values (enum).
1398
+ # @param [Object] tachyon_mblock_size Object to be assigned
1399
+ def tachyon_mblock_size=(tachyon_mblock_size)
1400
+ validator = EnumAttributeValidator.new('String', ["mb16", "mb32", "mb64", "mb128", "mb256", "auto"])
1401
+ unless validator.valid?(tachyon_mblock_size)
1402
+ fail ArgumentError, "invalid value for 'tachyon_mblock_size', must be one of #{validator.allowable_values}."
1403
+ end
1404
+ @tachyon_mblock_size = tachyon_mblock_size
1405
+ end
1406
+
1407
+ # Custom attribute writer method checking allowed values (enum).
1408
+ # @param [Object] eac3_bitstream_mode Object to be assigned
1409
+ def eac3_bitstream_mode=(eac3_bitstream_mode)
1410
+ validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2", "m3", "m4", "m5", "m6", "m7"])
1411
+ unless validator.valid?(eac3_bitstream_mode)
1412
+ fail ArgumentError, "invalid value for 'eac3_bitstream_mode', must be one of #{validator.allowable_values}."
1413
+ end
1414
+ @eac3_bitstream_mode = eac3_bitstream_mode
1415
+ end
1416
+
1417
+ # Custom attribute writer method checking allowed values (enum).
1418
+ # @param [Object] eac3_stereo_downmix_preference Object to be assigned
1419
+ def eac3_stereo_downmix_preference=(eac3_stereo_downmix_preference)
1420
+ validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2", "m3"])
1421
+ unless validator.valid?(eac3_stereo_downmix_preference)
1422
+ fail ArgumentError, "invalid value for 'eac3_stereo_downmix_preference', must be one of #{validator.allowable_values}."
1423
+ end
1424
+ @eac3_stereo_downmix_preference = eac3_stereo_downmix_preference
1425
+ end
1426
+
1427
+ # Custom attribute writer method checking allowed values (enum).
1428
+ # @param [Object] eac3_lt_rt_center_mix_level Object to be assigned
1429
+ def eac3_lt_rt_center_mix_level=(eac3_lt_rt_center_mix_level)
1430
+ validator = EnumAttributeValidator.new('String', ["c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7"])
1431
+ unless validator.valid?(eac3_lt_rt_center_mix_level)
1432
+ fail ArgumentError, "invalid value for 'eac3_lt_rt_center_mix_level', must be one of #{validator.allowable_values}."
1433
+ end
1434
+ @eac3_lt_rt_center_mix_level = eac3_lt_rt_center_mix_level
1435
+ end
1436
+
1437
+ # Custom attribute writer method checking allowed values (enum).
1438
+ # @param [Object] eac3_lt_rt_surround_mix_level Object to be assigned
1439
+ def eac3_lt_rt_surround_mix_level=(eac3_lt_rt_surround_mix_level)
1440
+ validator = EnumAttributeValidator.new('String', ["c3", "c4", "c5", "c6", "c7"])
1441
+ unless validator.valid?(eac3_lt_rt_surround_mix_level)
1442
+ fail ArgumentError, "invalid value for 'eac3_lt_rt_surround_mix_level', must be one of #{validator.allowable_values}."
1443
+ end
1444
+ @eac3_lt_rt_surround_mix_level = eac3_lt_rt_surround_mix_level
1445
+ end
1446
+
1447
+ # Custom attribute writer method checking allowed values (enum).
1448
+ # @param [Object] eac3_lo_ro_center_mix_level Object to be assigned
1449
+ def eac3_lo_ro_center_mix_level=(eac3_lo_ro_center_mix_level)
1450
+ validator = EnumAttributeValidator.new('String', ["c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7"])
1451
+ unless validator.valid?(eac3_lo_ro_center_mix_level)
1452
+ fail ArgumentError, "invalid value for 'eac3_lo_ro_center_mix_level', must be one of #{validator.allowable_values}."
1453
+ end
1454
+ @eac3_lo_ro_center_mix_level = eac3_lo_ro_center_mix_level
1455
+ end
1456
+
1457
+ # Custom attribute writer method checking allowed values (enum).
1458
+ # @param [Object] eac3_lo_ro_surround_mix_level Object to be assigned
1459
+ def eac3_lo_ro_surround_mix_level=(eac3_lo_ro_surround_mix_level)
1460
+ validator = EnumAttributeValidator.new('String', ["c3", "c4", "c5", "c6", "c7"])
1461
+ unless validator.valid?(eac3_lo_ro_surround_mix_level)
1462
+ fail ArgumentError, "invalid value for 'eac3_lo_ro_surround_mix_level', must be one of #{validator.allowable_values}."
1463
+ end
1464
+ @eac3_lo_ro_surround_mix_level = eac3_lo_ro_surround_mix_level
1465
+ end
1466
+
1467
+ # Custom attribute writer method checking allowed values (enum).
1468
+ # @param [Object] eac3_surround_ex_mode Object to be assigned
1469
+ def eac3_surround_ex_mode=(eac3_surround_ex_mode)
1470
+ validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2"])
1471
+ unless validator.valid?(eac3_surround_ex_mode)
1472
+ fail ArgumentError, "invalid value for 'eac3_surround_ex_mode', must be one of #{validator.allowable_values}."
1473
+ end
1474
+ @eac3_surround_ex_mode = eac3_surround_ex_mode
1475
+ end
1476
+
1477
+ # Custom attribute writer method checking allowed values (enum).
1478
+ # @param [Object] eac3_drc_line_mode_profile Object to be assigned
1479
+ def eac3_drc_line_mode_profile=(eac3_drc_line_mode_profile)
1480
+ validator = EnumAttributeValidator.new('String', ["p0", "p1", "p2", "p3", "p4", "p5"])
1481
+ unless validator.valid?(eac3_drc_line_mode_profile)
1482
+ fail ArgumentError, "invalid value for 'eac3_drc_line_mode_profile', must be one of #{validator.allowable_values}."
1483
+ end
1484
+ @eac3_drc_line_mode_profile = eac3_drc_line_mode_profile
1485
+ end
1486
+
1487
+ # Custom attribute writer method checking allowed values (enum).
1488
+ # @param [Object] eac3_drc_rf_mode_profile Object to be assigned
1489
+ def eac3_drc_rf_mode_profile=(eac3_drc_rf_mode_profile)
1490
+ validator = EnumAttributeValidator.new('String', ["p0", "p1", "p2", "p3", "p4", "p5"])
1491
+ unless validator.valid?(eac3_drc_rf_mode_profile)
1492
+ fail ArgumentError, "invalid value for 'eac3_drc_rf_mode_profile', must be one of #{validator.allowable_values}."
1493
+ end
1494
+ @eac3_drc_rf_mode_profile = eac3_drc_rf_mode_profile
1495
+ end
1496
+
1497
+ # Custom attribute writer method checking allowed values (enum).
1498
+ # @param [Object] eac3_room_type Object to be assigned
1499
+ def eac3_room_type=(eac3_room_type)
1500
+ validator = EnumAttributeValidator.new('String', ["m0", "m1", "m2"])
1501
+ unless validator.valid?(eac3_room_type)
1502
+ fail ArgumentError, "invalid value for 'eac3_room_type', must be one of #{validator.allowable_values}."
1503
+ end
1504
+ @eac3_room_type = eac3_room_type
1505
+ end
1506
+
1507
+ # Checks equality by comparing each attribute.
1508
+ # @param [Object] Object to be compared
1509
+ def ==(o)
1510
+ return true if self.equal?(o)
1511
+ self.class == o.class &&
1512
+ preset_name == o.preset_name &&
1513
+ advanced_fps_conversion == o.advanced_fps_conversion &&
1514
+ aspect_mode == o.aspect_mode &&
1515
+ aspect_ratio == o.aspect_ratio &&
1516
+ audio_bitrate == o.audio_bitrate &&
1517
+ audio_channels == o.audio_channels &&
1518
+ audio_channels_layout == o.audio_channels_layout &&
1519
+ audio_channels_per_track == o.audio_channels_per_track &&
1520
+ audio_codec == o.audio_codec &&
1521
+ audio_format == o.audio_format &&
1522
+ audio_pid == o.audio_pid &&
1523
+ audio_profile == o.audio_profile &&
1524
+ audio_sample_rate == o.audio_sample_rate &&
1525
+ audio_streams == o.audio_streams &&
1526
+ avcintra_class == o.avcintra_class &&
1527
+ buffer_size == o.buffer_size &&
1528
+ buffer_size_in_packets == o.buffer_size_in_packets &&
1529
+ clip_length == o.clip_length &&
1530
+ clip_offset == o.clip_offset &&
1531
+ closed_captions == o.closed_captions &&
1532
+ dash_profile == o.dash_profile &&
1533
+ deinterlace == o.deinterlace &&
1534
+ deinterlace_frames == o.deinterlace_frames &&
1535
+ dnxhd_type == o.dnxhd_type &&
1536
+ encryption == o.encryption &&
1537
+ extname == o.extname &&
1538
+ fps == o.fps &&
1539
+ frame_offsets == o.frame_offsets &&
1540
+ frame_interval == o.frame_interval &&
1541
+ frame_count == o.frame_count &&
1542
+ h264_level == o.h264_level &&
1543
+ h264_profile == o.h264_profile &&
1544
+ h264_tune == o.h264_tune &&
1545
+ height == o.height &&
1546
+ imx_type == o.imx_type &&
1547
+ interlace == o.interlace &&
1548
+ keyframe_interval == o.keyframe_interval &&
1549
+ keyframe_rate == o.keyframe_rate &&
1550
+ max_rate == o.max_rate &&
1551
+ merge_audio_streams == o.merge_audio_streams &&
1552
+ name == o.name &&
1553
+ outputs_path_format == o.outputs_path_format &&
1554
+ pmt_pid == o.pmt_pid &&
1555
+ prores_format == o.prores_format &&
1556
+ segment_time == o.segment_time &&
1557
+ size == o.size &&
1558
+ tar == o.tar &&
1559
+ transport_rate == o.transport_rate &&
1560
+ ts_pids == o.ts_pids &&
1561
+ upscale == o.upscale &&
1562
+ variants == o.variants &&
1563
+ video_bitrate == o.video_bitrate &&
1564
+ video_pid == o.video_pid &&
1565
+ watermark_bottom == o.watermark_bottom &&
1566
+ watermark_height == o.watermark_height &&
1567
+ watermark_left == o.watermark_left &&
1568
+ watermark_right == o.watermark_right &&
1569
+ watermark_top == o.watermark_top &&
1570
+ watermark_url == o.watermark_url &&
1571
+ watermark_width == o.watermark_width &&
1572
+ width == o.width &&
1573
+ x264_options == o.x264_options &&
1574
+ x265_options == o.x265_options &&
1575
+ xdcam_format == o.xdcam_format &&
1576
+ mute_audio_tracks == o.mute_audio_tracks &&
1577
+ byte_range_requests == o.byte_range_requests &&
1578
+ lang == o.lang &&
1579
+ use_editlist == o.use_editlist &&
1580
+ audio_map == o.audio_map &&
1581
+ audio_stream_id == o.audio_stream_id &&
1582
+ bumpers == o.bumpers &&
1583
+ codec_preset == o.codec_preset &&
1584
+ color_metadata == o.color_metadata &&
1585
+ crop_input_bottom == o.crop_input_bottom &&
1586
+ crop_input_height == o.crop_input_height &&
1587
+ crop_input_left == o.crop_input_left &&
1588
+ crop_input_right == o.crop_input_right &&
1589
+ crop_input_top == o.crop_input_top &&
1590
+ crop_input_width == o.crop_input_width &&
1591
+ dynamic_recipe == o.dynamic_recipe &&
1592
+ playlist_type == o.playlist_type &&
1593
+ preset_version == o.preset_version &&
1594
+ segment_delimiter == o.segment_delimiter &&
1595
+ sws_flags == o.sws_flags &&
1596
+ telestream_block_size == o.telestream_block_size &&
1597
+ telestream_blur_scaler == o.telestream_blur_scaler &&
1598
+ telestream_cost_scaler == o.telestream_cost_scaler &&
1599
+ telestream_search_length_scaler == o.telestream_search_length_scaler &&
1600
+ telestream_subpel_mode == o.telestream_subpel_mode &&
1601
+ trailers == o.trailers &&
1602
+ vantage_group_id == o.vantage_group_id &&
1603
+ watermark_bumpers == o.watermark_bumpers &&
1604
+ watermark_trailers == o.watermark_trailers &&
1605
+ workorder_criteria == o.workorder_criteria &&
1606
+ tachyon_allow_remove_pulldown == o.tachyon_allow_remove_pulldown &&
1607
+ tachyon_enable_post_pulldown_filter == o.tachyon_enable_post_pulldown_filter &&
1608
+ tachyon_media_hint_is_cartoon == o.tachyon_media_hint_is_cartoon &&
1609
+ tachyon_media_hint_has_chroma_noise == o.tachyon_media_hint_has_chroma_noise &&
1610
+ tachyon_more_sensitive_remove_pulldown == o.tachyon_more_sensitive_remove_pulldown &&
1611
+ tachyon_allow_add_standard_pd == o.tachyon_allow_add_standard_pd &&
1612
+ tachyon_allow_add_2_2pd == o.tachyon_allow_add_2_2pd &&
1613
+ tachyon_allow_add_4_4pd == o.tachyon_allow_add_4_4pd &&
1614
+ tachyon_allow_add_4_6pd == o.tachyon_allow_add_4_6pd &&
1615
+ tachyon_allow_add_euro_pd == o.tachyon_allow_add_euro_pd &&
1616
+ tachyon_allow_add_adaptive_pd == o.tachyon_allow_add_adaptive_pd &&
1617
+ tachyon_motion_amount == o.tachyon_motion_amount &&
1618
+ tachyon_fallback_size == o.tachyon_fallback_size &&
1619
+ tachyon_mblock_size == o.tachyon_mblock_size &&
1620
+ tachyon_cut_detection_sensitivity == o.tachyon_cut_detection_sensitivity &&
1621
+ eac3_evolution_enable == o.eac3_evolution_enable &&
1622
+ eac3_bitstream_mode == o.eac3_bitstream_mode &&
1623
+ eac3_ninety_degree_phase_shift == o.eac3_ninety_degree_phase_shift &&
1624
+ eac3_three_decibel_attenuation == o.eac3_three_decibel_attenuation &&
1625
+ eac3_enable_lfe_low_pass_filter == o.eac3_enable_lfe_low_pass_filter &&
1626
+ eac3_analog_to_digital_converter_type == o.eac3_analog_to_digital_converter_type &&
1627
+ eac3_stereo_downmix_preference == o.eac3_stereo_downmix_preference &&
1628
+ eac3_lt_rt_center_mix_level == o.eac3_lt_rt_center_mix_level &&
1629
+ eac3_lt_rt_surround_mix_level == o.eac3_lt_rt_surround_mix_level &&
1630
+ eac3_lo_ro_center_mix_level == o.eac3_lo_ro_center_mix_level &&
1631
+ eac3_lo_ro_surround_mix_level == o.eac3_lo_ro_surround_mix_level &&
1632
+ eac3_surround_ex_mode == o.eac3_surround_ex_mode &&
1633
+ eac3_drc_line_mode_profile == o.eac3_drc_line_mode_profile &&
1634
+ eac3_drc_rf_mode_profile == o.eac3_drc_rf_mode_profile &&
1635
+ eac3_dialog_normalization == o.eac3_dialog_normalization &&
1636
+ eac3_room_type == o.eac3_room_type &&
1637
+ eac3_mixing_level == o.eac3_mixing_level &&
1638
+ eac3_copyright_protected == o.eac3_copyright_protected &&
1639
+ eac3_original_bitstream == o.eac3_original_bitstream &&
1640
+ title == o.title &&
1641
+ time_code == o.time_code
1642
+ end
1643
+
1644
+ # @see the `==` method
1645
+ # @param [Object] Object to be compared
1646
+ def eql?(o)
1647
+ self == o
1648
+ end
1649
+
1650
+ # Calculates hash code according to all attributes.
1651
+ # @return [Fixnum] Hash code
1652
+ def hash
1653
+ [preset_name, advanced_fps_conversion, aspect_mode, aspect_ratio, audio_bitrate, audio_channels, audio_channels_layout, audio_channels_per_track, audio_codec, audio_format, audio_pid, audio_profile, audio_sample_rate, audio_streams, avcintra_class, buffer_size, buffer_size_in_packets, clip_length, clip_offset, closed_captions, dash_profile, deinterlace, deinterlace_frames, dnxhd_type, encryption, extname, fps, frame_offsets, frame_interval, frame_count, h264_level, h264_profile, h264_tune, height, imx_type, interlace, keyframe_interval, keyframe_rate, max_rate, merge_audio_streams, name, outputs_path_format, pmt_pid, prores_format, segment_time, size, tar, transport_rate, ts_pids, upscale, variants, video_bitrate, video_pid, watermark_bottom, watermark_height, watermark_left, watermark_right, watermark_top, watermark_url, watermark_width, width, x264_options, x265_options, xdcam_format, mute_audio_tracks, byte_range_requests, lang, use_editlist, audio_map, audio_stream_id, bumpers, codec_preset, color_metadata, crop_input_bottom, crop_input_height, crop_input_left, crop_input_right, crop_input_top, crop_input_width, dynamic_recipe, playlist_type, preset_version, segment_delimiter, sws_flags, telestream_block_size, telestream_blur_scaler, telestream_cost_scaler, telestream_search_length_scaler, telestream_subpel_mode, trailers, vantage_group_id, watermark_bumpers, watermark_trailers, workorder_criteria, tachyon_allow_remove_pulldown, tachyon_enable_post_pulldown_filter, tachyon_media_hint_is_cartoon, tachyon_media_hint_has_chroma_noise, tachyon_more_sensitive_remove_pulldown, tachyon_allow_add_standard_pd, tachyon_allow_add_2_2pd, tachyon_allow_add_4_4pd, tachyon_allow_add_4_6pd, tachyon_allow_add_euro_pd, tachyon_allow_add_adaptive_pd, tachyon_motion_amount, tachyon_fallback_size, tachyon_mblock_size, tachyon_cut_detection_sensitivity, eac3_evolution_enable, eac3_bitstream_mode, eac3_ninety_degree_phase_shift, eac3_three_decibel_attenuation, eac3_enable_lfe_low_pass_filter, eac3_analog_to_digital_converter_type, eac3_stereo_downmix_preference, eac3_lt_rt_center_mix_level, eac3_lt_rt_surround_mix_level, eac3_lo_ro_center_mix_level, eac3_lo_ro_surround_mix_level, eac3_surround_ex_mode, eac3_drc_line_mode_profile, eac3_drc_rf_mode_profile, eac3_dialog_normalization, eac3_room_type, eac3_mixing_level, eac3_copyright_protected, eac3_original_bitstream, title, time_code].hash
1654
+ end
1655
+
1656
+ # Builds the object from hash
1657
+ # @param [Hash] attributes Model attributes in the form of hash
1658
+ # @return [Object] Returns the model itself
1659
+ def build_from_hash(attributes)
1660
+ return nil unless attributes.is_a?(Hash)
1661
+ self.class.swagger_types.each_pair do |key, type|
1662
+ if type =~ /\AArray<(.*)>/i
1663
+ # check to ensure the input is an array given that the the attribute
1664
+ # is documented as an array but the input is not
1665
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
1666
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
1667
+ end
1668
+ elsif !attributes[self.class.attribute_map[key]].nil?
1669
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
1670
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
1671
+ end
1672
+
1673
+ self
1674
+ end
1675
+
1676
+ # Deserializes the data based on type
1677
+ # @param string type Data type
1678
+ # @param string value Value to be deserialized
1679
+ # @return [Object] Deserialized data
1680
+ def _deserialize(type, value)
1681
+ case type.to_sym
1682
+ when :DateTime
1683
+ DateTime.parse(value)
1684
+ when :Date
1685
+ Date.parse(value)
1686
+ when :String
1687
+ value.to_s
1688
+ when :Integer
1689
+ value.to_i
1690
+ when :Float
1691
+ value.to_f
1692
+ when :BOOLEAN
1693
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
1694
+ true
1695
+ else
1696
+ false
1697
+ end
1698
+ when :Object
1699
+ # generic object (usually a Hash), return directly
1700
+ value
1701
+ when /\AArray<(?<inner_type>.+)>\z/
1702
+ inner_type = Regexp.last_match[:inner_type]
1703
+ value.map { |v| _deserialize(inner_type, v) }
1704
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
1705
+ k_type = Regexp.last_match[:k_type]
1706
+ v_type = Regexp.last_match[:v_type]
1707
+ {}.tap do |hash|
1708
+ value.each do |k, v|
1709
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
1710
+ end
1711
+ end
1712
+ else # model
1713
+ temp_model = TelestreamCloud::Flip.const_get(type).new
1714
+ temp_model.build_from_hash(value)
1715
+ end
1716
+ end
1717
+
1718
+ # Returns the string representation of the object
1719
+ # @return [String] String presentation of the object
1720
+ def to_s
1721
+ to_hash.to_s
1722
+ end
1723
+
1724
+ # to_body is an alias to to_hash (backward compatibility)
1725
+ # @return [Hash] Returns the object in the form of hash
1726
+ def to_body
1727
+ to_hash
1728
+ end
1729
+
1730
+ # Returns the object in the form of hash
1731
+ # @return [Hash] Returns the object in the form of hash
1732
+ def to_hash
1733
+ hash = {}
1734
+ self.class.attribute_map.each_pair do |attr, param|
1735
+ value = self.send(attr)
1736
+ next if value.nil?
1737
+ hash[param] = _to_hash(value)
1738
+ end
1739
+ hash
1740
+ end
1741
+
1742
+ # Outputs non-array value in the form of hash
1743
+ # For object, use to_hash. Otherwise, just return the value
1744
+ # @param [Object] value Any valid value
1745
+ # @return [Hash] Returns the value in the form of hash
1746
+ def _to_hash(value)
1747
+ if value.is_a?(Array)
1748
+ value.compact.map{ |v| _to_hash(v) }
1749
+ elsif value.is_a?(Hash)
1750
+ {}.tap do |hash|
1751
+ value.each { |k, v| hash[k] = _to_hash(v) }
1752
+ end
1753
+ elsif value.respond_to? :to_hash
1754
+ value.to_hash
1755
+ else
1756
+ value
1757
+ end
1758
+ end
1759
+
1760
+ end
1761
+
1762
+ end