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