shotstack 0.2.2 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +9 -0
- data/Rakefile +10 -0
- data/lib/shotstack/api/create_api.rb +158 -0
- data/lib/shotstack/api/edit_api.rb +20 -20
- data/lib/shotstack/api/ingest_api.rb +338 -0
- data/lib/shotstack/api/serve_api.rb +76 -8
- data/lib/shotstack/api_client.rb +28 -24
- data/lib/shotstack/api_error.rb +3 -2
- data/lib/shotstack/configuration.rb +55 -9
- data/lib/shotstack/models/asset.rb +3 -3
- data/lib/shotstack/models/asset_render_response.rb +18 -20
- data/lib/shotstack/models/asset_response.rb +18 -20
- data/lib/shotstack/models/asset_response_attributes.rb +23 -21
- data/lib/shotstack/models/asset_response_data.rb +20 -20
- data/lib/shotstack/models/audio_asset.rb +57 -21
- data/lib/shotstack/models/audio_enhancement.rb +43 -0
- data/lib/shotstack/models/clip.rb +27 -25
- data/lib/shotstack/models/crop.rb +40 -28
- data/lib/shotstack/models/destinations.rb +78 -243
- data/lib/shotstack/models/did_generated_asset.rb +273 -0
- data/lib/shotstack/models/did_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/did_text_to_avatar_options.rb +313 -0
- data/lib/shotstack/models/dolby_enhancement.rb +239 -0
- data/lib/shotstack/models/dolby_enhancement_options.rb +257 -0
- data/lib/shotstack/models/edit.rb +22 -22
- data/lib/shotstack/models/eleven_labs_generated_asset.rb +273 -0
- data/lib/shotstack/models/eleven_labs_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/eleven_labs_text_to_speech_options.rb +303 -0
- data/lib/shotstack/models/enhancements.rb +215 -0
- data/lib/shotstack/models/flip_transformation.rb +16 -20
- data/lib/shotstack/models/font.rb +18 -20
- data/lib/shotstack/models/generated_asset.rb +48 -0
- data/lib/shotstack/models/generated_asset_error_response.rb +225 -0
- data/lib/shotstack/models/generated_asset_error_response_data.rb +257 -0
- data/lib/shotstack/models/generated_asset_response.rb +222 -0
- data/lib/shotstack/models/generated_asset_response_attributes.rb +376 -0
- data/lib/shotstack/models/generated_asset_response_data.rb +256 -0
- data/lib/shotstack/models/google_cloud_storage_destination.rb +232 -0
- data/lib/shotstack/models/google_cloud_storage_destination_options.rb +243 -0
- data/lib/shotstack/models/google_drive_destination.rb +239 -0
- data/lib/shotstack/models/google_drive_destination_options.rb +233 -0
- data/lib/shotstack/models/hey_gen_generated_asset.rb +273 -0
- data/lib/shotstack/models/hey_gen_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/hey_gen_text_to_avatar_options.rb +396 -0
- data/lib/shotstack/models/html_asset.rb +20 -22
- data/lib/shotstack/models/image_asset.rb +18 -20
- data/lib/shotstack/models/ingest_error_response.rb +225 -0
- data/lib/shotstack/models/ingest_error_response_data.rb +257 -0
- data/lib/shotstack/models/luma_asset.rb +18 -20
- data/lib/shotstack/models/merge_field.rb +20 -20
- data/lib/shotstack/models/mux_destination.rb +18 -22
- data/lib/shotstack/models/mux_destination_options.rb +50 -25
- data/lib/shotstack/models/offset.rb +28 -24
- data/lib/shotstack/models/open_ai_generated_asset.rb +273 -0
- data/lib/shotstack/models/open_ai_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/open_ai_text_generator_options.rb +313 -0
- data/lib/shotstack/models/output.rb +27 -29
- data/lib/shotstack/models/outputs.rb +227 -0
- data/lib/shotstack/models/outputs_response.rb +218 -0
- data/lib/shotstack/models/poster.rb +18 -20
- data/lib/shotstack/models/probe_response.rb +22 -20
- data/lib/shotstack/models/queued_response.rb +22 -20
- data/lib/shotstack/models/queued_response_data.rb +20 -20
- data/lib/shotstack/models/queued_source_response.rb +222 -0
- data/lib/shotstack/models/queued_source_response_data.rb +240 -0
- data/lib/shotstack/models/range.rb +26 -22
- data/lib/shotstack/models/render_response.rb +22 -20
- data/lib/shotstack/models/render_response_data.rb +22 -20
- data/lib/shotstack/models/rendition.rb +429 -0
- data/lib/shotstack/models/rendition_response_attributes.rb +336 -0
- data/lib/shotstack/models/rotate_transformation.rb +16 -20
- data/lib/shotstack/models/s3_destination.rb +18 -22
- data/lib/shotstack/models/s3_destination_options.rb +21 -21
- data/lib/shotstack/models/shotstack_destination.rb +19 -23
- data/lib/shotstack/models/shotstack_generated_asset.rb +273 -0
- data/lib/shotstack/models/shotstack_generated_asset_options.rb +60 -0
- data/lib/shotstack/models/shotstack_image_to_video_options.rb +298 -0
- data/lib/shotstack/models/shotstack_text_generator_options.rb +274 -0
- data/lib/shotstack/models/shotstack_text_to_image_options.rb +308 -0
- data/lib/shotstack/models/shotstack_text_to_speech_options.rb +339 -0
- data/lib/shotstack/models/size.rb +36 -32
- data/lib/shotstack/models/skew_transformation.rb +16 -20
- data/lib/shotstack/models/soundtrack.rb +18 -20
- data/lib/shotstack/models/source.rb +244 -0
- data/lib/shotstack/models/source_list_response.rb +225 -0
- data/lib/shotstack/models/source_response.rb +222 -0
- data/lib/shotstack/models/source_response_attributes.rb +373 -0
- data/lib/shotstack/models/source_response_data.rb +256 -0
- data/lib/shotstack/models/speed.rb +254 -0
- data/lib/shotstack/models/stability_ai_generated_asset.rb +273 -0
- data/lib/shotstack/models/stability_ai_generated_asset_options.rb +54 -0
- data/lib/shotstack/models/stability_ai_text_to_image_options.rb +390 -0
- data/lib/shotstack/models/template.rb +18 -20
- data/lib/shotstack/models/template_data_response.rb +23 -21
- data/lib/shotstack/models/template_data_response_data.rb +24 -20
- data/lib/shotstack/models/template_list_response.rb +24 -22
- data/lib/shotstack/models/template_list_response_data.rb +20 -20
- data/lib/shotstack/models/template_list_response_item.rb +20 -20
- data/lib/shotstack/models/template_render.rb +18 -20
- data/lib/shotstack/models/template_response.rb +22 -20
- data/lib/shotstack/models/template_response_data.rb +20 -20
- data/lib/shotstack/models/thumbnail.rb +20 -20
- data/lib/shotstack/models/timeline.rb +19 -21
- data/lib/shotstack/models/title_asset.rb +18 -20
- data/lib/shotstack/models/track.rb +18 -20
- data/lib/shotstack/models/transcription.rb +250 -0
- data/lib/shotstack/models/transfer.rb +259 -0
- data/lib/shotstack/models/transfer_response.rb +222 -0
- data/lib/shotstack/models/transfer_response_attributes.rb +280 -0
- data/lib/shotstack/models/transfer_response_data.rb +225 -0
- data/lib/shotstack/models/transformation.rb +16 -20
- data/lib/shotstack/models/transition.rb +16 -20
- data/lib/shotstack/models/upload_response.rb +222 -0
- data/lib/shotstack/models/upload_response_attributes.rb +257 -0
- data/lib/shotstack/models/upload_response_data.rb +256 -0
- data/lib/shotstack/models/video_asset.rb +57 -21
- data/lib/shotstack/version.rb +3 -3
- data/lib/shotstack.rb +61 -2
- data/shotstack.gemspec +8 -8
- metadata +69 -16
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
#Shotstack
|
|
3
|
+
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: v1
|
|
7
|
+
|
|
8
|
+
Generated by: https://openapi-generator.tech
|
|
9
|
+
Generator version: 7.4.0
|
|
10
|
+
|
|
11
|
+
=end
|
|
12
|
+
|
|
13
|
+
require 'date'
|
|
14
|
+
require 'time'
|
|
15
|
+
|
|
16
|
+
module Shotstack
|
|
17
|
+
# The id and attributes of the generated rendition file.
|
|
18
|
+
class RenditionResponseAttributes
|
|
19
|
+
# The rendition id.
|
|
20
|
+
attr_accessor :id
|
|
21
|
+
|
|
22
|
+
# The status of the rendition transformation task. <ul> <li>`waiting` - rendition task is waiting for source file to become available</li> <li>`queued` - rendition task is queued waiting to be processed</li> <li>`processing` - the rendition is being processed</li> <li>`ready` - the rendition is ready to be downloaded</li> <li>`failed` - there was an error creating the rendition</li> <li>`deleted` - the rendition has been deleted</li> </ul>
|
|
23
|
+
attr_accessor :status
|
|
24
|
+
|
|
25
|
+
# The URL of the rendition file hosted by Shotstack. The file at the URL can be used by the Edit API. Source file URL's consist of a base URL (AWS bucket), owner id, source id and a file name with the rendition id and extension.
|
|
26
|
+
attr_accessor :url
|
|
27
|
+
|
|
28
|
+
# The time in milliseconds it took to process the rendition.
|
|
29
|
+
attr_accessor :execution_time
|
|
30
|
+
|
|
31
|
+
attr_accessor :transformation
|
|
32
|
+
|
|
33
|
+
# The width in pixels of the ingested source file, if a video or image.
|
|
34
|
+
attr_accessor :width
|
|
35
|
+
|
|
36
|
+
# The height in pixels of the ingested source file, if a video or image.
|
|
37
|
+
attr_accessor :height
|
|
38
|
+
|
|
39
|
+
# The duration in seconds of the ingested source file, if a video or audio file.
|
|
40
|
+
attr_accessor :duration
|
|
41
|
+
|
|
42
|
+
# The frame rate in frames per second of the source file, if a video file.
|
|
43
|
+
attr_accessor :fps
|
|
44
|
+
|
|
45
|
+
class EnumAttributeValidator
|
|
46
|
+
attr_reader :datatype
|
|
47
|
+
attr_reader :allowable_values
|
|
48
|
+
|
|
49
|
+
def initialize(datatype, allowable_values)
|
|
50
|
+
@allowable_values = allowable_values.map do |value|
|
|
51
|
+
case datatype.to_s
|
|
52
|
+
when /Integer/i
|
|
53
|
+
value.to_i
|
|
54
|
+
when /Float/i
|
|
55
|
+
value.to_f
|
|
56
|
+
else
|
|
57
|
+
value
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def valid?(value)
|
|
63
|
+
!value || allowable_values.include?(value)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
68
|
+
def self.attribute_map
|
|
69
|
+
{
|
|
70
|
+
:'id' => :'id',
|
|
71
|
+
:'status' => :'status',
|
|
72
|
+
:'url' => :'url',
|
|
73
|
+
:'execution_time' => :'executionTime',
|
|
74
|
+
:'transformation' => :'transformation',
|
|
75
|
+
:'width' => :'width',
|
|
76
|
+
:'height' => :'height',
|
|
77
|
+
:'duration' => :'duration',
|
|
78
|
+
:'fps' => :'fps'
|
|
79
|
+
}
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Returns all the JSON keys this model knows about
|
|
83
|
+
def self.acceptable_attributes
|
|
84
|
+
attribute_map.values
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
# Attribute type mapping.
|
|
88
|
+
def self.openapi_types
|
|
89
|
+
{
|
|
90
|
+
:'id' => :'String',
|
|
91
|
+
:'status' => :'String',
|
|
92
|
+
:'url' => :'String',
|
|
93
|
+
:'execution_time' => :'Float',
|
|
94
|
+
:'transformation' => :'Rendition',
|
|
95
|
+
:'width' => :'Integer',
|
|
96
|
+
:'height' => :'Integer',
|
|
97
|
+
:'duration' => :'Float',
|
|
98
|
+
:'fps' => :'Float'
|
|
99
|
+
}
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# List of attributes with nullable: true
|
|
103
|
+
def self.openapi_nullable
|
|
104
|
+
Set.new([
|
|
105
|
+
])
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# Initializes the object
|
|
109
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
110
|
+
def initialize(attributes = {})
|
|
111
|
+
if (!attributes.is_a?(Hash))
|
|
112
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Shotstack::RenditionResponseAttributes` initialize method"
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
116
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
117
|
+
if (!self.class.attribute_map.key?(k.to_sym))
|
|
118
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Shotstack::RenditionResponseAttributes`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
|
|
119
|
+
end
|
|
120
|
+
h[k.to_sym] = v
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if attributes.key?(:'id')
|
|
124
|
+
self.id = attributes[:'id']
|
|
125
|
+
else
|
|
126
|
+
self.id = nil
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
if attributes.key?(:'status')
|
|
130
|
+
self.status = attributes[:'status']
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
if attributes.key?(:'url')
|
|
134
|
+
self.url = attributes[:'url']
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
if attributes.key?(:'execution_time')
|
|
138
|
+
self.execution_time = attributes[:'execution_time']
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
if attributes.key?(:'transformation')
|
|
142
|
+
self.transformation = attributes[:'transformation']
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
if attributes.key?(:'width')
|
|
146
|
+
self.width = attributes[:'width']
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
if attributes.key?(:'height')
|
|
150
|
+
self.height = attributes[:'height']
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
if attributes.key?(:'duration')
|
|
154
|
+
self.duration = attributes[:'duration']
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
if attributes.key?(:'fps')
|
|
158
|
+
self.fps = attributes[:'fps']
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
163
|
+
# @return Array for valid properties with the reasons
|
|
164
|
+
def list_invalid_properties
|
|
165
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
166
|
+
invalid_properties = Array.new
|
|
167
|
+
if @id.nil?
|
|
168
|
+
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
invalid_properties
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
# Check to see if the all the properties in the model are valid
|
|
175
|
+
# @return true if the model is valid
|
|
176
|
+
def valid?
|
|
177
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
178
|
+
return false if @id.nil?
|
|
179
|
+
status_validator = EnumAttributeValidator.new('String', ["queued", "importing", "ready", "failed", "deleted", "overwritten"])
|
|
180
|
+
return false unless status_validator.valid?(@status)
|
|
181
|
+
true
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
185
|
+
# @param [Object] status Object to be assigned
|
|
186
|
+
def status=(status)
|
|
187
|
+
validator = EnumAttributeValidator.new('String', ["queued", "importing", "ready", "failed", "deleted", "overwritten"])
|
|
188
|
+
unless validator.valid?(status)
|
|
189
|
+
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
190
|
+
end
|
|
191
|
+
@status = status
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
# Checks equality by comparing each attribute.
|
|
195
|
+
# @param [Object] Object to be compared
|
|
196
|
+
def ==(o)
|
|
197
|
+
return true if self.equal?(o)
|
|
198
|
+
self.class == o.class &&
|
|
199
|
+
id == o.id &&
|
|
200
|
+
status == o.status &&
|
|
201
|
+
url == o.url &&
|
|
202
|
+
execution_time == o.execution_time &&
|
|
203
|
+
transformation == o.transformation &&
|
|
204
|
+
width == o.width &&
|
|
205
|
+
height == o.height &&
|
|
206
|
+
duration == o.duration &&
|
|
207
|
+
fps == o.fps
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
# @see the `==` method
|
|
211
|
+
# @param [Object] Object to be compared
|
|
212
|
+
def eql?(o)
|
|
213
|
+
self == o
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Calculates hash code according to all attributes.
|
|
217
|
+
# @return [Integer] Hash code
|
|
218
|
+
def hash
|
|
219
|
+
[id, status, url, execution_time, transformation, width, height, duration, fps].hash
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# Builds the object from hash
|
|
223
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
224
|
+
# @return [Object] Returns the model itself
|
|
225
|
+
def self.build_from_hash(attributes)
|
|
226
|
+
return nil unless attributes.is_a?(Hash)
|
|
227
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
228
|
+
transformed_hash = {}
|
|
229
|
+
openapi_types.each_pair do |key, type|
|
|
230
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
231
|
+
transformed_hash["#{key}"] = nil
|
|
232
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
233
|
+
# check to ensure the input is an array given that the attribute
|
|
234
|
+
# is documented as an array but the input is not
|
|
235
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
236
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
237
|
+
end
|
|
238
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
239
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
new(transformed_hash)
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
# Deserializes the data based on type
|
|
246
|
+
# @param string type Data type
|
|
247
|
+
# @param string value Value to be deserialized
|
|
248
|
+
# @return [Object] Deserialized data
|
|
249
|
+
def self._deserialize(type, value)
|
|
250
|
+
case type.to_sym
|
|
251
|
+
when :Time
|
|
252
|
+
Time.parse(value)
|
|
253
|
+
when :Date
|
|
254
|
+
Date.parse(value)
|
|
255
|
+
when :String
|
|
256
|
+
value.to_s
|
|
257
|
+
when :Integer
|
|
258
|
+
value.to_i
|
|
259
|
+
when :Float
|
|
260
|
+
value.to_f
|
|
261
|
+
when :Boolean
|
|
262
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
|
263
|
+
true
|
|
264
|
+
else
|
|
265
|
+
false
|
|
266
|
+
end
|
|
267
|
+
when :Object
|
|
268
|
+
# generic object (usually a Hash), return directly
|
|
269
|
+
value
|
|
270
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
|
271
|
+
inner_type = Regexp.last_match[:inner_type]
|
|
272
|
+
value.map { |v| _deserialize(inner_type, v) }
|
|
273
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
|
274
|
+
k_type = Regexp.last_match[:k_type]
|
|
275
|
+
v_type = Regexp.last_match[:v_type]
|
|
276
|
+
{}.tap do |hash|
|
|
277
|
+
value.each do |k, v|
|
|
278
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
|
279
|
+
end
|
|
280
|
+
end
|
|
281
|
+
else # model
|
|
282
|
+
# models (e.g. Pet) or oneOf
|
|
283
|
+
klass = Shotstack.const_get(type)
|
|
284
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
285
|
+
end
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
# Returns the string representation of the object
|
|
289
|
+
# @return [String] String presentation of the object
|
|
290
|
+
def to_s
|
|
291
|
+
to_hash.to_s
|
|
292
|
+
end
|
|
293
|
+
|
|
294
|
+
# to_body is an alias to to_hash (backward compatibility)
|
|
295
|
+
# @return [Hash] Returns the object in the form of hash
|
|
296
|
+
def to_body
|
|
297
|
+
to_hash
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# Returns the object in the form of hash
|
|
301
|
+
# @return [Hash] Returns the object in the form of hash
|
|
302
|
+
def to_hash
|
|
303
|
+
hash = {}
|
|
304
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
305
|
+
value = self.send(attr)
|
|
306
|
+
if value.nil?
|
|
307
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
308
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
309
|
+
end
|
|
310
|
+
|
|
311
|
+
hash[param] = _to_hash(value)
|
|
312
|
+
end
|
|
313
|
+
hash
|
|
314
|
+
end
|
|
315
|
+
|
|
316
|
+
# Outputs non-array value in the form of hash
|
|
317
|
+
# For object, use to_hash. Otherwise, just return the value
|
|
318
|
+
# @param [Object] value Any valid value
|
|
319
|
+
# @return [Hash] Returns the value in the form of hash
|
|
320
|
+
def _to_hash(value)
|
|
321
|
+
if value.is_a?(Array)
|
|
322
|
+
value.compact.map { |v| _to_hash(v) }
|
|
323
|
+
elsif value.is_a?(Hash)
|
|
324
|
+
{}.tap do |hash|
|
|
325
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
|
326
|
+
end
|
|
327
|
+
elsif value.respond_to? :to_hash
|
|
328
|
+
value.to_hash
|
|
329
|
+
else
|
|
330
|
+
value
|
|
331
|
+
end
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
end
|
|
335
|
+
|
|
336
|
+
end
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Shotstack
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.4.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -67,6 +67,7 @@ module Shotstack
|
|
|
67
67
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
68
68
|
# @return Array for valid properties with the reasons
|
|
69
69
|
def list_invalid_properties
|
|
70
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
70
71
|
invalid_properties = Array.new
|
|
71
72
|
invalid_properties
|
|
72
73
|
end
|
|
@@ -74,6 +75,7 @@ module Shotstack
|
|
|
74
75
|
# Check to see if the all the properties in the model are valid
|
|
75
76
|
# @return true if the model is valid
|
|
76
77
|
def valid?
|
|
78
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
77
79
|
true
|
|
78
80
|
end
|
|
79
81
|
|
|
@@ -101,36 +103,30 @@ module Shotstack
|
|
|
101
103
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
102
104
|
# @return [Object] Returns the model itself
|
|
103
105
|
def self.build_from_hash(attributes)
|
|
104
|
-
new.build_from_hash(attributes)
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
# Builds the object from hash
|
|
108
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
109
|
-
# @return [Object] Returns the model itself
|
|
110
|
-
def build_from_hash(attributes)
|
|
111
106
|
return nil unless attributes.is_a?(Hash)
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
107
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
108
|
+
transformed_hash = {}
|
|
109
|
+
openapi_types.each_pair do |key, type|
|
|
110
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
111
|
+
transformed_hash["#{key}"] = nil
|
|
115
112
|
elsif type =~ /\AArray<(.*)>/i
|
|
116
113
|
# check to ensure the input is an array given that the attribute
|
|
117
114
|
# is documented as an array but the input is not
|
|
118
|
-
if attributes[
|
|
119
|
-
|
|
115
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
116
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
120
117
|
end
|
|
121
|
-
elsif !attributes[
|
|
122
|
-
|
|
118
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
119
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
123
120
|
end
|
|
124
121
|
end
|
|
125
|
-
|
|
126
|
-
self
|
|
122
|
+
new(transformed_hash)
|
|
127
123
|
end
|
|
128
124
|
|
|
129
125
|
# Deserializes the data based on type
|
|
130
126
|
# @param string type Data type
|
|
131
127
|
# @param string value Value to be deserialized
|
|
132
128
|
# @return [Object] Deserialized data
|
|
133
|
-
def _deserialize(type, value)
|
|
129
|
+
def self._deserialize(type, value)
|
|
134
130
|
case type.to_sym
|
|
135
131
|
when :Time
|
|
136
132
|
Time.parse(value)
|
|
@@ -165,7 +161,7 @@ module Shotstack
|
|
|
165
161
|
else # model
|
|
166
162
|
# models (e.g. Pet) or oneOf
|
|
167
163
|
klass = Shotstack.const_get(type)
|
|
168
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
164
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
169
165
|
end
|
|
170
166
|
end
|
|
171
167
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Shotstack
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.4.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -14,9 +14,9 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module Shotstack
|
|
17
|
-
# Send
|
|
17
|
+
# Send videos and assets to an [Amazon S3](https://shotstack.io/docs/guide/serving-assets/destinations/s3/) bucket. Send files to any region with your own prefix and filename. AWS credentials are required and added via the [dashboard](https://dashboard.shotstack.io/integrations/s3), not in the request.
|
|
18
18
|
class S3Destination
|
|
19
|
-
# The destination to send
|
|
19
|
+
# The destination to send assets to - set to `s3` for S3.
|
|
20
20
|
attr_accessor :provider
|
|
21
21
|
|
|
22
22
|
attr_accessor :options
|
|
@@ -77,6 +77,7 @@ module Shotstack
|
|
|
77
77
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
78
78
|
# @return Array for valid properties with the reasons
|
|
79
79
|
def list_invalid_properties
|
|
80
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
80
81
|
invalid_properties = Array.new
|
|
81
82
|
if @provider.nil?
|
|
82
83
|
invalid_properties.push('invalid value for "provider", provider cannot be nil.')
|
|
@@ -88,6 +89,7 @@ module Shotstack
|
|
|
88
89
|
# Check to see if the all the properties in the model are valid
|
|
89
90
|
# @return true if the model is valid
|
|
90
91
|
def valid?
|
|
92
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
91
93
|
return false if @provider.nil?
|
|
92
94
|
true
|
|
93
95
|
end
|
|
@@ -117,36 +119,30 @@ module Shotstack
|
|
|
117
119
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
118
120
|
# @return [Object] Returns the model itself
|
|
119
121
|
def self.build_from_hash(attributes)
|
|
120
|
-
new.build_from_hash(attributes)
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
# Builds the object from hash
|
|
124
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
125
|
-
# @return [Object] Returns the model itself
|
|
126
|
-
def build_from_hash(attributes)
|
|
127
122
|
return nil unless attributes.is_a?(Hash)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
124
|
+
transformed_hash = {}
|
|
125
|
+
openapi_types.each_pair do |key, type|
|
|
126
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
127
|
+
transformed_hash["#{key}"] = nil
|
|
131
128
|
elsif type =~ /\AArray<(.*)>/i
|
|
132
129
|
# check to ensure the input is an array given that the attribute
|
|
133
130
|
# is documented as an array but the input is not
|
|
134
|
-
if attributes[
|
|
135
|
-
|
|
131
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
132
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
136
133
|
end
|
|
137
|
-
elsif !attributes[
|
|
138
|
-
|
|
134
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
135
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
139
136
|
end
|
|
140
137
|
end
|
|
141
|
-
|
|
142
|
-
self
|
|
138
|
+
new(transformed_hash)
|
|
143
139
|
end
|
|
144
140
|
|
|
145
141
|
# Deserializes the data based on type
|
|
146
142
|
# @param string type Data type
|
|
147
143
|
# @param string value Value to be deserialized
|
|
148
144
|
# @return [Object] Deserialized data
|
|
149
|
-
def _deserialize(type, value)
|
|
145
|
+
def self._deserialize(type, value)
|
|
150
146
|
case type.to_sym
|
|
151
147
|
when :Time
|
|
152
148
|
Time.parse(value)
|
|
@@ -181,7 +177,7 @@ module Shotstack
|
|
|
181
177
|
else # model
|
|
182
178
|
# models (e.g. Pet) or oneOf
|
|
183
179
|
klass = Shotstack.const_get(type)
|
|
184
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
180
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
185
181
|
end
|
|
186
182
|
end
|
|
187
183
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
=begin
|
|
2
2
|
#Shotstack
|
|
3
3
|
|
|
4
|
-
#
|
|
4
|
+
# Official Ruby SDK for the Shotstack Cloud Video Editing API
|
|
5
5
|
|
|
6
6
|
The version of the OpenAPI document: v1
|
|
7
7
|
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
|
-
|
|
9
|
+
Generator version: 7.4.0
|
|
10
10
|
|
|
11
11
|
=end
|
|
12
12
|
|
|
@@ -25,7 +25,7 @@ module Shotstack
|
|
|
25
25
|
# A prefix for the file being sent. This is typically a folder name, i.e. `videos` or `customerId/videos`.
|
|
26
26
|
attr_accessor :prefix
|
|
27
27
|
|
|
28
|
-
# Use your own filename instead of the default
|
|
28
|
+
# Use your own filename instead of the default filenames generated by Shotstack. Note: omit the file extension as this will be appended depending on the output format. Also `-poster.jpg` and `-thumb.jpg` will be appended for poster and thumbnail images.
|
|
29
29
|
attr_accessor :filename
|
|
30
30
|
|
|
31
31
|
# Sets the S3 Access Control List (acl) permissions. Default is `private`. Must use a valid S3 [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#canned-acl).
|
|
@@ -81,10 +81,14 @@ module Shotstack
|
|
|
81
81
|
|
|
82
82
|
if attributes.key?(:'region')
|
|
83
83
|
self.region = attributes[:'region']
|
|
84
|
+
else
|
|
85
|
+
self.region = nil
|
|
84
86
|
end
|
|
85
87
|
|
|
86
88
|
if attributes.key?(:'bucket')
|
|
87
89
|
self.bucket = attributes[:'bucket']
|
|
90
|
+
else
|
|
91
|
+
self.bucket = nil
|
|
88
92
|
end
|
|
89
93
|
|
|
90
94
|
if attributes.key?(:'prefix')
|
|
@@ -103,6 +107,7 @@ module Shotstack
|
|
|
103
107
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
104
108
|
# @return Array for valid properties with the reasons
|
|
105
109
|
def list_invalid_properties
|
|
110
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
106
111
|
invalid_properties = Array.new
|
|
107
112
|
if @region.nil?
|
|
108
113
|
invalid_properties.push('invalid value for "region", region cannot be nil.')
|
|
@@ -118,6 +123,7 @@ module Shotstack
|
|
|
118
123
|
# Check to see if the all the properties in the model are valid
|
|
119
124
|
# @return true if the model is valid
|
|
120
125
|
def valid?
|
|
126
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
121
127
|
return false if @region.nil?
|
|
122
128
|
return false if @bucket.nil?
|
|
123
129
|
true
|
|
@@ -151,36 +157,30 @@ module Shotstack
|
|
|
151
157
|
# @param [Hash] attributes Model attributes in the form of hash
|
|
152
158
|
# @return [Object] Returns the model itself
|
|
153
159
|
def self.build_from_hash(attributes)
|
|
154
|
-
new.build_from_hash(attributes)
|
|
155
|
-
end
|
|
156
|
-
|
|
157
|
-
# Builds the object from hash
|
|
158
|
-
# @param [Hash] attributes Model attributes in the form of hash
|
|
159
|
-
# @return [Object] Returns the model itself
|
|
160
|
-
def build_from_hash(attributes)
|
|
161
160
|
return nil unless attributes.is_a?(Hash)
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
161
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
162
|
+
transformed_hash = {}
|
|
163
|
+
openapi_types.each_pair do |key, type|
|
|
164
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
165
|
+
transformed_hash["#{key}"] = nil
|
|
165
166
|
elsif type =~ /\AArray<(.*)>/i
|
|
166
167
|
# check to ensure the input is an array given that the attribute
|
|
167
168
|
# is documented as an array but the input is not
|
|
168
|
-
if attributes[
|
|
169
|
-
|
|
169
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
170
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
170
171
|
end
|
|
171
|
-
elsif !attributes[
|
|
172
|
-
|
|
172
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
173
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
173
174
|
end
|
|
174
175
|
end
|
|
175
|
-
|
|
176
|
-
self
|
|
176
|
+
new(transformed_hash)
|
|
177
177
|
end
|
|
178
178
|
|
|
179
179
|
# Deserializes the data based on type
|
|
180
180
|
# @param string type Data type
|
|
181
181
|
# @param string value Value to be deserialized
|
|
182
182
|
# @return [Object] Deserialized data
|
|
183
|
-
def _deserialize(type, value)
|
|
183
|
+
def self._deserialize(type, value)
|
|
184
184
|
case type.to_sym
|
|
185
185
|
when :Time
|
|
186
186
|
Time.parse(value)
|
|
@@ -215,7 +215,7 @@ module Shotstack
|
|
|
215
215
|
else # model
|
|
216
216
|
# models (e.g. Pet) or oneOf
|
|
217
217
|
klass = Shotstack.const_get(type)
|
|
218
|
-
klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
218
|
+
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
|
219
219
|
end
|
|
220
220
|
end
|
|
221
221
|
|