imagekitio 4.0.0 → 4.1.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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +1 -1
  4. data/lib/imagekitio/client.rb +4 -0
  5. data/lib/imagekitio/helpers/helper.rb +4 -0
  6. data/lib/imagekitio/helpers/transformation_utils.rb +7 -0
  7. data/lib/imagekitio/internal/transport/base_client.rb +7 -1
  8. data/lib/imagekitio/internal/transport/pooled_net_requester.rb +17 -24
  9. data/lib/imagekitio/internal/type/base_model.rb +1 -0
  10. data/lib/imagekitio/internal/type/union.rb +20 -8
  11. data/lib/imagekitio/internal/util.rb +7 -2
  12. data/lib/imagekitio/models/base_overlay.rb +73 -3
  13. data/lib/imagekitio/models/beta/v2/file_upload_params.rb +2 -2
  14. data/lib/imagekitio/models/beta/v2/file_upload_response.rb +21 -1
  15. data/lib/imagekitio/models/extension_config.rb +674 -0
  16. data/lib/imagekitio/models/extensions.rb +559 -1
  17. data/lib/imagekitio/models/file_update_response.rb +21 -1
  18. data/lib/imagekitio/models/file_upload_params.rb +2 -2
  19. data/lib/imagekitio/models/file_upload_response.rb +21 -1
  20. data/lib/imagekitio/models/image_overlay.rb +12 -0
  21. data/lib/imagekitio/models/saved_extension.rb +62 -0
  22. data/lib/imagekitio/models/saved_extension_create_params.rb +42 -0
  23. data/lib/imagekitio/models/saved_extension_delete_params.rb +14 -0
  24. data/lib/imagekitio/models/saved_extension_get_params.rb +14 -0
  25. data/lib/imagekitio/models/saved_extension_list_params.rb +14 -0
  26. data/lib/imagekitio/models/saved_extension_list_response.rb +8 -0
  27. data/lib/imagekitio/models/saved_extension_update_params.rb +42 -0
  28. data/lib/imagekitio/models/solid_color_overlay_transformation.rb +24 -12
  29. data/lib/imagekitio/models/subtitle_overlay.rb +12 -0
  30. data/lib/imagekitio/models/subtitle_overlay_transformation.rb +4 -3
  31. data/lib/imagekitio/models/text_overlay.rb +6 -0
  32. data/lib/imagekitio/models/text_overlay_transformation.rb +35 -19
  33. data/lib/imagekitio/models/transformation.rb +62 -12
  34. data/lib/imagekitio/models/unsafe_unwrap_webhook_event.rb +2 -0
  35. data/lib/imagekitio/models/unwrap_webhook_event.rb +2 -0
  36. data/lib/imagekitio/models/update_file_request.rb +2 -2
  37. data/lib/imagekitio/models/upload_pre_transform_success_event.rb +21 -1
  38. data/lib/imagekitio/models/video_overlay.rb +12 -0
  39. data/lib/imagekitio/models.rb +14 -0
  40. data/lib/imagekitio/resources/beta/v2/files.rb +1 -1
  41. data/lib/imagekitio/resources/files/metadata.rb +1 -1
  42. data/lib/imagekitio/resources/files.rb +1 -1
  43. data/lib/imagekitio/resources/saved_extensions.rb +146 -0
  44. data/lib/imagekitio/version.rb +1 -1
  45. data/lib/imagekitio.rb +11 -1
  46. data/manifest.yaml +2 -0
  47. data/rbi/imagekitio/client.rbi +3 -0
  48. data/rbi/imagekitio/internal/transport/base_client.rbi +5 -0
  49. data/rbi/imagekitio/internal/transport/pooled_net_requester.rbi +6 -2
  50. data/rbi/imagekitio/internal/type/base_model.rbi +8 -4
  51. data/rbi/imagekitio/models/base_overlay.rbi +110 -1
  52. data/rbi/imagekitio/models/beta/v2/file_upload_params.rbi +8 -0
  53. data/rbi/imagekitio/models/beta/v2/file_upload_response.rbi +61 -0
  54. data/rbi/imagekitio/models/extension_config.rbi +1403 -0
  55. data/rbi/imagekitio/models/extensions.rbi +1159 -0
  56. data/rbi/imagekitio/models/file_update_response.rbi +61 -0
  57. data/rbi/imagekitio/models/file_upload_params.rbi +8 -0
  58. data/rbi/imagekitio/models/file_upload_response.rbi +61 -0
  59. data/rbi/imagekitio/models/image_overlay.rbi +18 -0
  60. data/rbi/imagekitio/models/saved_extension.rbi +114 -0
  61. data/rbi/imagekitio/models/saved_extension_create_params.rbi +85 -0
  62. data/rbi/imagekitio/models/saved_extension_delete_params.rbi +30 -0
  63. data/rbi/imagekitio/models/saved_extension_get_params.rbi +30 -0
  64. data/rbi/imagekitio/models/saved_extension_list_params.rbi +30 -0
  65. data/rbi/imagekitio/models/saved_extension_list_response.rbi +11 -0
  66. data/rbi/imagekitio/models/saved_extension_update_params.rbi +106 -0
  67. data/rbi/imagekitio/models/solid_color_overlay_transformation.rbi +33 -18
  68. data/rbi/imagekitio/models/subtitle_overlay.rbi +18 -0
  69. data/rbi/imagekitio/models/subtitle_overlay_transformation.rbi +6 -4
  70. data/rbi/imagekitio/models/text_overlay.rbi +9 -0
  71. data/rbi/imagekitio/models/text_overlay_transformation.rbi +47 -26
  72. data/rbi/imagekitio/models/transformation.rbi +99 -18
  73. data/rbi/imagekitio/models/update_file_request.rbi +8 -0
  74. data/rbi/imagekitio/models/upload_pre_transform_success_event.rbi +61 -0
  75. data/rbi/imagekitio/models/video_overlay.rbi +18 -0
  76. data/rbi/imagekitio/models.rbi +14 -0
  77. data/rbi/imagekitio/resources/beta/v2/files.rbi +2 -0
  78. data/rbi/imagekitio/resources/files.rbi +2 -0
  79. data/rbi/imagekitio/resources/saved_extensions.rbi +114 -0
  80. data/sig/imagekitio/client.rbs +2 -0
  81. data/sig/imagekitio/internal/transport/base_client.rbs +2 -0
  82. data/sig/imagekitio/internal/transport/pooled_net_requester.rbs +4 -1
  83. data/sig/imagekitio/models/base_overlay.rbs +22 -0
  84. data/sig/imagekitio/models/beta/v2/file_upload_response.rbs +21 -0
  85. data/sig/imagekitio/models/extension_config.rbs +604 -0
  86. data/sig/imagekitio/models/extensions.rbs +489 -0
  87. data/sig/imagekitio/models/file_update_response.rbs +21 -0
  88. data/sig/imagekitio/models/file_upload_response.rbs +21 -0
  89. data/sig/imagekitio/models/saved_extension.rbs +59 -0
  90. data/sig/imagekitio/models/saved_extension_create_params.rbs +36 -0
  91. data/sig/imagekitio/models/saved_extension_delete_params.rbs +15 -0
  92. data/sig/imagekitio/models/saved_extension_get_params.rbs +15 -0
  93. data/sig/imagekitio/models/saved_extension_list_params.rbs +15 -0
  94. data/sig/imagekitio/models/saved_extension_list_response.rbs +7 -0
  95. data/sig/imagekitio/models/saved_extension_update_params.rbs +44 -0
  96. data/sig/imagekitio/models/solid_color_overlay_transformation.rbs +1 -1
  97. data/sig/imagekitio/models/text_overlay_transformation.rbs +1 -1
  98. data/sig/imagekitio/models/transformation.rbs +15 -1
  99. data/sig/imagekitio/models/upload_pre_transform_success_event.rbs +21 -0
  100. data/sig/imagekitio/models.rbs +14 -0
  101. data/sig/imagekitio/resources/saved_extensions.rbs +33 -0
  102. metadata +43 -2
@@ -0,0 +1,604 @@
1
+ module Imagekitio
2
+ module Models
3
+ type extension_config =
4
+ Imagekitio::ExtensionConfig::RemoveBg
5
+ | Imagekitio::ExtensionConfig::AIAutoDescription
6
+ | Imagekitio::ExtensionConfig::AITasks
7
+ | Imagekitio::ExtensionConfig::AutoTaggingExtension
8
+
9
+ module ExtensionConfig
10
+ extend Imagekitio::Internal::Type::Union
11
+
12
+ type remove_bg =
13
+ {
14
+ name: :"remove-bg",
15
+ options: Imagekitio::ExtensionConfig::RemoveBg::Options
16
+ }
17
+
18
+ class RemoveBg < Imagekitio::Internal::Type::BaseModel
19
+ attr_accessor name: :"remove-bg"
20
+
21
+ attr_reader options: Imagekitio::ExtensionConfig::RemoveBg::Options?
22
+
23
+ def options=: (
24
+ Imagekitio::ExtensionConfig::RemoveBg::Options
25
+ ) -> Imagekitio::ExtensionConfig::RemoveBg::Options
26
+
27
+ def initialize: (
28
+ ?options: Imagekitio::ExtensionConfig::RemoveBg::Options,
29
+ ?name: :"remove-bg"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ name: :"remove-bg",
34
+ options: Imagekitio::ExtensionConfig::RemoveBg::Options
35
+ }
36
+
37
+ type options =
38
+ {
39
+ add_shadow: bool,
40
+ bg_color: String,
41
+ bg_image_url: String,
42
+ semitransparency: bool
43
+ }
44
+
45
+ class Options < Imagekitio::Internal::Type::BaseModel
46
+ attr_reader add_shadow: bool?
47
+
48
+ def add_shadow=: (bool) -> bool
49
+
50
+ attr_reader bg_color: String?
51
+
52
+ def bg_color=: (String) -> String
53
+
54
+ attr_reader bg_image_url: String?
55
+
56
+ def bg_image_url=: (String) -> String
57
+
58
+ attr_reader semitransparency: bool?
59
+
60
+ def semitransparency=: (bool) -> bool
61
+
62
+ def initialize: (
63
+ ?add_shadow: bool,
64
+ ?bg_color: String,
65
+ ?bg_image_url: String,
66
+ ?semitransparency: bool
67
+ ) -> void
68
+
69
+ def to_hash: -> {
70
+ add_shadow: bool,
71
+ bg_color: String,
72
+ bg_image_url: String,
73
+ semitransparency: bool
74
+ }
75
+ end
76
+ end
77
+
78
+ type auto_tagging_extension =
79
+ {
80
+ max_tags: Integer,
81
+ min_confidence: Integer,
82
+ name: Imagekitio::Models::ExtensionConfig::AutoTaggingExtension::name_
83
+ }
84
+
85
+ class AutoTaggingExtension < Imagekitio::Internal::Type::BaseModel
86
+ attr_accessor max_tags: Integer
87
+
88
+ attr_accessor min_confidence: Integer
89
+
90
+ attr_accessor name: Imagekitio::Models::ExtensionConfig::AutoTaggingExtension::name_
91
+
92
+ def initialize: (
93
+ max_tags: Integer,
94
+ min_confidence: Integer,
95
+ name: Imagekitio::Models::ExtensionConfig::AutoTaggingExtension::name_
96
+ ) -> void
97
+
98
+ def to_hash: -> {
99
+ max_tags: Integer,
100
+ min_confidence: Integer,
101
+ name: Imagekitio::Models::ExtensionConfig::AutoTaggingExtension::name_
102
+ }
103
+
104
+ type name_ = :"google-auto-tagging" | :"aws-auto-tagging"
105
+
106
+ module Name
107
+ extend Imagekitio::Internal::Type::Enum
108
+
109
+ GOOGLE_AUTO_TAGGING: :"google-auto-tagging"
110
+ AWS_AUTO_TAGGING: :"aws-auto-tagging"
111
+
112
+ def self?.values: -> ::Array[Imagekitio::Models::ExtensionConfig::AutoTaggingExtension::name_]
113
+ end
114
+ end
115
+
116
+ type ai_auto_description = { name: :"ai-auto-description" }
117
+
118
+ class AIAutoDescription < Imagekitio::Internal::Type::BaseModel
119
+ attr_accessor name: :"ai-auto-description"
120
+
121
+ def initialize: (?name: :"ai-auto-description") -> void
122
+
123
+ def to_hash: -> { name: :"ai-auto-description" }
124
+ end
125
+
126
+ type ai_tasks =
127
+ {
128
+ name: :"ai-tasks",
129
+ tasks: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::task]
130
+ }
131
+
132
+ class AITasks < Imagekitio::Internal::Type::BaseModel
133
+ attr_accessor name: :"ai-tasks"
134
+
135
+ attr_accessor tasks: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::task]
136
+
137
+ def initialize: (
138
+ tasks: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::task],
139
+ ?name: :"ai-tasks"
140
+ ) -> void
141
+
142
+ def to_hash: -> {
143
+ name: :"ai-tasks",
144
+ tasks: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::task]
145
+ }
146
+
147
+ type task =
148
+ Imagekitio::ExtensionConfig::AITasks::Task::SelectTags
149
+ | Imagekitio::ExtensionConfig::AITasks::Task::SelectMetadata
150
+ | Imagekitio::ExtensionConfig::AITasks::Task::YesNo
151
+
152
+ module Task
153
+ extend Imagekitio::Internal::Type::Union
154
+
155
+ type select_tags =
156
+ {
157
+ instruction: String,
158
+ type: :select_tags,
159
+ vocabulary: ::Array[String],
160
+ max_selections: Integer,
161
+ min_selections: Integer
162
+ }
163
+
164
+ class SelectTags < Imagekitio::Internal::Type::BaseModel
165
+ attr_accessor instruction: String
166
+
167
+ attr_accessor type: :select_tags
168
+
169
+ attr_accessor vocabulary: ::Array[String]
170
+
171
+ attr_reader max_selections: Integer?
172
+
173
+ def max_selections=: (Integer) -> Integer
174
+
175
+ attr_reader min_selections: Integer?
176
+
177
+ def min_selections=: (Integer) -> Integer
178
+
179
+ def initialize: (
180
+ instruction: String,
181
+ vocabulary: ::Array[String],
182
+ ?max_selections: Integer,
183
+ ?min_selections: Integer,
184
+ ?type: :select_tags
185
+ ) -> void
186
+
187
+ def to_hash: -> {
188
+ instruction: String,
189
+ type: :select_tags,
190
+ vocabulary: ::Array[String],
191
+ max_selections: Integer,
192
+ min_selections: Integer
193
+ }
194
+ end
195
+
196
+ type select_metadata =
197
+ {
198
+ field: String,
199
+ instruction: String,
200
+ type: :select_metadata,
201
+ max_selections: Integer,
202
+ min_selections: Integer,
203
+ vocabulary: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::SelectMetadata::vocabulary]
204
+ }
205
+
206
+ class SelectMetadata < Imagekitio::Internal::Type::BaseModel
207
+ attr_accessor field: String
208
+
209
+ attr_accessor instruction: String
210
+
211
+ attr_accessor type: :select_metadata
212
+
213
+ attr_reader max_selections: Integer?
214
+
215
+ def max_selections=: (Integer) -> Integer
216
+
217
+ attr_reader min_selections: Integer?
218
+
219
+ def min_selections=: (Integer) -> Integer
220
+
221
+ attr_reader vocabulary: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::SelectMetadata::vocabulary]?
222
+
223
+ def vocabulary=: (
224
+ ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::SelectMetadata::vocabulary]
225
+ ) -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::SelectMetadata::vocabulary]
226
+
227
+ def initialize: (
228
+ field: String,
229
+ instruction: String,
230
+ ?max_selections: Integer,
231
+ ?min_selections: Integer,
232
+ ?vocabulary: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::SelectMetadata::vocabulary],
233
+ ?type: :select_metadata
234
+ ) -> void
235
+
236
+ def to_hash: -> {
237
+ field: String,
238
+ instruction: String,
239
+ type: :select_metadata,
240
+ max_selections: Integer,
241
+ min_selections: Integer,
242
+ vocabulary: ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::SelectMetadata::vocabulary]
243
+ }
244
+
245
+ type vocabulary = String | Float | bool
246
+
247
+ module Vocabulary
248
+ extend Imagekitio::Internal::Type::Union
249
+
250
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::SelectMetadata::vocabulary]
251
+ end
252
+ end
253
+
254
+ type yes_no =
255
+ {
256
+ instruction: String,
257
+ type: :yes_no,
258
+ on_no: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo,
259
+ on_unknown: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown,
260
+ on_yes: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes
261
+ }
262
+
263
+ class YesNo < Imagekitio::Internal::Type::BaseModel
264
+ attr_accessor instruction: String
265
+
266
+ attr_accessor type: :yes_no
267
+
268
+ attr_reader on_no: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo?
269
+
270
+ def on_no=: (
271
+ Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo
272
+ ) -> Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo
273
+
274
+ attr_reader on_unknown: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown?
275
+
276
+ def on_unknown=: (
277
+ Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown
278
+ ) -> Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown
279
+
280
+ attr_reader on_yes: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes?
281
+
282
+ def on_yes=: (
283
+ Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes
284
+ ) -> Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes
285
+
286
+ def initialize: (
287
+ instruction: String,
288
+ ?on_no: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo,
289
+ ?on_unknown: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown,
290
+ ?on_yes: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes,
291
+ ?type: :yes_no
292
+ ) -> void
293
+
294
+ def to_hash: -> {
295
+ instruction: String,
296
+ type: :yes_no,
297
+ on_no: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo,
298
+ on_unknown: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown,
299
+ on_yes: Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes
300
+ }
301
+
302
+ type on_no =
303
+ {
304
+ add_tags: ::Array[String],
305
+ remove_tags: ::Array[String],
306
+ set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata],
307
+ unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::UnsetMetadata]
308
+ }
309
+
310
+ class OnNo < Imagekitio::Internal::Type::BaseModel
311
+ attr_reader add_tags: ::Array[String]?
312
+
313
+ def add_tags=: (::Array[String]) -> ::Array[String]
314
+
315
+ attr_reader remove_tags: ::Array[String]?
316
+
317
+ def remove_tags=: (::Array[String]) -> ::Array[String]
318
+
319
+ attr_reader set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata]?
320
+
321
+ def set_metadata=: (
322
+ ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata]
323
+ ) -> ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata]
324
+
325
+ attr_reader unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::UnsetMetadata]?
326
+
327
+ def unset_metadata=: (
328
+ ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::UnsetMetadata]
329
+ ) -> ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::UnsetMetadata]
330
+
331
+ def initialize: (
332
+ ?add_tags: ::Array[String],
333
+ ?remove_tags: ::Array[String],
334
+ ?set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata],
335
+ ?unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::UnsetMetadata]
336
+ ) -> void
337
+
338
+ def to_hash: -> {
339
+ add_tags: ::Array[String],
340
+ remove_tags: ::Array[String],
341
+ set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata],
342
+ unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnNo::UnsetMetadata]
343
+ }
344
+
345
+ type set_metadata =
346
+ {
347
+ field: String,
348
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata::value
349
+ }
350
+
351
+ class SetMetadata < Imagekitio::Internal::Type::BaseModel
352
+ attr_accessor field: String
353
+
354
+ attr_accessor value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata::value
355
+
356
+ def initialize: (
357
+ field: String,
358
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata::value
359
+ ) -> void
360
+
361
+ def to_hash: -> {
362
+ field: String,
363
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata::value
364
+ }
365
+
366
+ type value =
367
+ String
368
+ | Float
369
+ | bool
370
+ | ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata::Value::mixed]
371
+
372
+ module Value
373
+ extend Imagekitio::Internal::Type::Union
374
+
375
+ type mixed = String | Float | bool
376
+
377
+ module Mixed
378
+ extend Imagekitio::Internal::Type::Union
379
+
380
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata::Value::mixed]
381
+ end
382
+
383
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnNo::SetMetadata::value]
384
+
385
+ MixedArray: Imagekitio::Internal::Type::Converter
386
+ end
387
+ end
388
+
389
+ type unset_metadata = { field: String }
390
+
391
+ class UnsetMetadata < Imagekitio::Internal::Type::BaseModel
392
+ attr_accessor field: String
393
+
394
+ def initialize: (field: String) -> void
395
+
396
+ def to_hash: -> { field: String }
397
+ end
398
+ end
399
+
400
+ type on_unknown =
401
+ {
402
+ add_tags: ::Array[String],
403
+ remove_tags: ::Array[String],
404
+ set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata],
405
+ unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::UnsetMetadata]
406
+ }
407
+
408
+ class OnUnknown < Imagekitio::Internal::Type::BaseModel
409
+ attr_reader add_tags: ::Array[String]?
410
+
411
+ def add_tags=: (::Array[String]) -> ::Array[String]
412
+
413
+ attr_reader remove_tags: ::Array[String]?
414
+
415
+ def remove_tags=: (::Array[String]) -> ::Array[String]
416
+
417
+ attr_reader set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata]?
418
+
419
+ def set_metadata=: (
420
+ ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata]
421
+ ) -> ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata]
422
+
423
+ attr_reader unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::UnsetMetadata]?
424
+
425
+ def unset_metadata=: (
426
+ ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::UnsetMetadata]
427
+ ) -> ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::UnsetMetadata]
428
+
429
+ def initialize: (
430
+ ?add_tags: ::Array[String],
431
+ ?remove_tags: ::Array[String],
432
+ ?set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata],
433
+ ?unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::UnsetMetadata]
434
+ ) -> void
435
+
436
+ def to_hash: -> {
437
+ add_tags: ::Array[String],
438
+ remove_tags: ::Array[String],
439
+ set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata],
440
+ unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::UnsetMetadata]
441
+ }
442
+
443
+ type set_metadata =
444
+ {
445
+ field: String,
446
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata::value
447
+ }
448
+
449
+ class SetMetadata < Imagekitio::Internal::Type::BaseModel
450
+ attr_accessor field: String
451
+
452
+ attr_accessor value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata::value
453
+
454
+ def initialize: (
455
+ field: String,
456
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata::value
457
+ ) -> void
458
+
459
+ def to_hash: -> {
460
+ field: String,
461
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata::value
462
+ }
463
+
464
+ type value =
465
+ String
466
+ | Float
467
+ | bool
468
+ | ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata::Value::mixed]
469
+
470
+ module Value
471
+ extend Imagekitio::Internal::Type::Union
472
+
473
+ type mixed = String | Float | bool
474
+
475
+ module Mixed
476
+ extend Imagekitio::Internal::Type::Union
477
+
478
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata::Value::mixed]
479
+ end
480
+
481
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnUnknown::SetMetadata::value]
482
+
483
+ MixedArray: Imagekitio::Internal::Type::Converter
484
+ end
485
+ end
486
+
487
+ type unset_metadata = { field: String }
488
+
489
+ class UnsetMetadata < Imagekitio::Internal::Type::BaseModel
490
+ attr_accessor field: String
491
+
492
+ def initialize: (field: String) -> void
493
+
494
+ def to_hash: -> { field: String }
495
+ end
496
+ end
497
+
498
+ type on_yes =
499
+ {
500
+ add_tags: ::Array[String],
501
+ remove_tags: ::Array[String],
502
+ set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata],
503
+ unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::UnsetMetadata]
504
+ }
505
+
506
+ class OnYes < Imagekitio::Internal::Type::BaseModel
507
+ attr_reader add_tags: ::Array[String]?
508
+
509
+ def add_tags=: (::Array[String]) -> ::Array[String]
510
+
511
+ attr_reader remove_tags: ::Array[String]?
512
+
513
+ def remove_tags=: (::Array[String]) -> ::Array[String]
514
+
515
+ attr_reader set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata]?
516
+
517
+ def set_metadata=: (
518
+ ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata]
519
+ ) -> ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata]
520
+
521
+ attr_reader unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::UnsetMetadata]?
522
+
523
+ def unset_metadata=: (
524
+ ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::UnsetMetadata]
525
+ ) -> ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::UnsetMetadata]
526
+
527
+ def initialize: (
528
+ ?add_tags: ::Array[String],
529
+ ?remove_tags: ::Array[String],
530
+ ?set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata],
531
+ ?unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::UnsetMetadata]
532
+ ) -> void
533
+
534
+ def to_hash: -> {
535
+ add_tags: ::Array[String],
536
+ remove_tags: ::Array[String],
537
+ set_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata],
538
+ unset_metadata: ::Array[Imagekitio::ExtensionConfig::AITasks::Task::YesNo::OnYes::UnsetMetadata]
539
+ }
540
+
541
+ type set_metadata =
542
+ {
543
+ field: String,
544
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata::value
545
+ }
546
+
547
+ class SetMetadata < Imagekitio::Internal::Type::BaseModel
548
+ attr_accessor field: String
549
+
550
+ attr_accessor value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata::value
551
+
552
+ def initialize: (
553
+ field: String,
554
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata::value
555
+ ) -> void
556
+
557
+ def to_hash: -> {
558
+ field: String,
559
+ value: Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata::value
560
+ }
561
+
562
+ type value =
563
+ String
564
+ | Float
565
+ | bool
566
+ | ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata::Value::mixed]
567
+
568
+ module Value
569
+ extend Imagekitio::Internal::Type::Union
570
+
571
+ type mixed = String | Float | bool
572
+
573
+ module Mixed
574
+ extend Imagekitio::Internal::Type::Union
575
+
576
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata::Value::mixed]
577
+ end
578
+
579
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::Task::YesNo::OnYes::SetMetadata::value]
580
+
581
+ MixedArray: Imagekitio::Internal::Type::Converter
582
+ end
583
+ end
584
+
585
+ type unset_metadata = { field: String }
586
+
587
+ class UnsetMetadata < Imagekitio::Internal::Type::BaseModel
588
+ attr_accessor field: String
589
+
590
+ def initialize: (field: String) -> void
591
+
592
+ def to_hash: -> { field: String }
593
+ end
594
+ end
595
+ end
596
+
597
+ def self?.variants: -> ::Array[Imagekitio::Models::ExtensionConfig::AITasks::task]
598
+ end
599
+ end
600
+
601
+ def self?.variants: -> ::Array[Imagekitio::Models::extension_config]
602
+ end
603
+ end
604
+ end