kaltura-ruby-client 1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +7 -0
  2. data/README +20 -0
  3. data/Rakefile +19 -0
  4. data/agpl.txt +674 -0
  5. data/kaltura.yml +7 -0
  6. data/lib/kaltura.rb +31 -0
  7. data/lib/kaltura_client.rb +14450 -0
  8. data/lib/kaltura_client_base.rb +432 -0
  9. data/lib/kaltura_plugins/kaltura_abc_screeners_watermark_access_control_client_plugin.rb +37 -0
  10. data/lib/kaltura_plugins/kaltura_ad_cue_point_client_plugin.rb +108 -0
  11. data/lib/kaltura_plugins/kaltura_annotation_client_plugin.rb +237 -0
  12. data/lib/kaltura_plugins/kaltura_aspera_client_plugin.rb +61 -0
  13. data/lib/kaltura_plugins/kaltura_attachment_client_plugin.rb +227 -0
  14. data/lib/kaltura_plugins/kaltura_audit_client_plugin.rb +349 -0
  15. data/lib/kaltura_plugins/kaltura_bulk_upload_client_plugin.rb +109 -0
  16. data/lib/kaltura_plugins/kaltura_bulk_upload_csv_client_plugin.rb +55 -0
  17. data/lib/kaltura_plugins/kaltura_bulk_upload_filter_client_plugin.rb +46 -0
  18. data/lib/kaltura_plugins/kaltura_bulk_upload_xml_client_plugin.rb +40 -0
  19. data/lib/kaltura_plugins/kaltura_caption_client_plugin.rb +406 -0
  20. data/lib/kaltura_plugins/kaltura_caption_search_client_plugin.rb +138 -0
  21. data/lib/kaltura_plugins/kaltura_code_cue_point_client_plugin.rb +97 -0
  22. data/lib/kaltura_plugins/kaltura_content_distribution_client_plugin.rb +1717 -0
  23. data/lib/kaltura_plugins/kaltura_cue_point_client_plugin.rb +290 -0
  24. data/lib/kaltura_plugins/kaltura_document_client_plugin.rb +522 -0
  25. data/lib/kaltura_plugins/kaltura_drm_client_plugin.rb +204 -0
  26. data/lib/kaltura_plugins/kaltura_drop_folder_client_plugin.rb +810 -0
  27. data/lib/kaltura_plugins/kaltura_drop_folder_xml_bulk_upload_client_plugin.rb +39 -0
  28. data/lib/kaltura_plugins/kaltura_email_notification_client_plugin.rb +276 -0
  29. data/lib/kaltura_plugins/kaltura_event_notification_client_plugin.rb +405 -0
  30. data/lib/kaltura_plugins/kaltura_external_media_client_plugin.rb +203 -0
  31. data/lib/kaltura_plugins/kaltura_file_sync_client_plugin.rb +151 -0
  32. data/lib/kaltura_plugins/kaltura_http_notification_client_plugin.rb +309 -0
  33. data/lib/kaltura_plugins/kaltura_kontiki_client_plugin.rb +72 -0
  34. data/lib/kaltura_plugins/kaltura_like_client_plugin.rb +82 -0
  35. data/lib/kaltura_plugins/kaltura_metadata_client_plugin.rb +788 -0
  36. data/lib/kaltura_plugins/kaltura_multi_centers_client_plugin.rb +45 -0
  37. data/lib/kaltura_plugins/kaltura_short_link_client_plugin.rb +231 -0
  38. data/lib/kaltura_plugins/kaltura_tag_search_client_plugin.rb +145 -0
  39. data/lib/kaltura_plugins/kaltura_var_console_client_plugin.rb +238 -0
  40. data/lib/kaltura_plugins/kaltura_velocix_client_plugin.rb +40 -0
  41. data/lib/kaltura_plugins/kaltura_virus_scan_client_plugin.rb +263 -0
  42. data/lib/kaltura_plugins/kaltura_webex_drop_folder_client_plugin.rb +121 -0
  43. data/lib/kaltura_plugins/kaltura_widevine_client_plugin.rb +195 -0
  44. data/license.txt +674 -0
  45. data/test/access_control_service_test.rb +75 -0
  46. data/test/base_entry_service_test.rb +267 -0
  47. data/test/configuration_test.rb +178 -0
  48. data/test/cue_point_service_test.rb +67 -0
  49. data/test/data_service_test.rb +76 -0
  50. data/test/document_service_test.rb +41 -0
  51. data/test/media/test.mov +0 -0
  52. data/test/media/test.pdf +0 -0
  53. data/test/media/test.png +0 -0
  54. data/test/media/test.swf +0 -0
  55. data/test/media/test.wmv +0 -0
  56. data/test/media_service_test.rb +294 -0
  57. data/test/metadata_profile_service_test.rb +63 -0
  58. data/test/test_helper.rb +59 -0
  59. metadata +127 -0
@@ -0,0 +1,108 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+ require File.dirname(__FILE__) + '/kaltura_cue_point_client_plugin.rb'
30
+
31
+ module Kaltura
32
+
33
+ class KalturaAdCuePointOrderBy
34
+ CREATED_AT_ASC = "+createdAt"
35
+ DURATION_ASC = "+duration"
36
+ END_TIME_ASC = "+endTime"
37
+ PARTNER_SORT_VALUE_ASC = "+partnerSortValue"
38
+ START_TIME_ASC = "+startTime"
39
+ UPDATED_AT_ASC = "+updatedAt"
40
+ CREATED_AT_DESC = "-createdAt"
41
+ DURATION_DESC = "-duration"
42
+ END_TIME_DESC = "-endTime"
43
+ PARTNER_SORT_VALUE_DESC = "-partnerSortValue"
44
+ START_TIME_DESC = "-startTime"
45
+ UPDATED_AT_DESC = "-updatedAt"
46
+ end
47
+
48
+ class KalturaAdProtocolType
49
+ CUSTOM = "0"
50
+ VAST = "1"
51
+ VAST_2_0 = "2"
52
+ VPAID = "3"
53
+ end
54
+
55
+ class KalturaAdType
56
+ VIDEO = "1"
57
+ OVERLAY = "2"
58
+ end
59
+
60
+ class KalturaAdCuePoint < KalturaCuePoint
61
+ attr_accessor :protocol_type
62
+ attr_accessor :source_url
63
+ attr_accessor :ad_type
64
+ attr_accessor :title
65
+ attr_accessor :end_time
66
+ # Duration in milliseconds
67
+ #
68
+ attr_accessor :duration
69
+
70
+ def end_time=(val)
71
+ @end_time = val.to_i
72
+ end
73
+ def duration=(val)
74
+ @duration = val.to_i
75
+ end
76
+ end
77
+
78
+ class KalturaAdCuePointBaseFilter < KalturaCuePointFilter
79
+ attr_accessor :protocol_type_equal
80
+ attr_accessor :protocol_type_in
81
+ attr_accessor :title_like
82
+ attr_accessor :title_multi_like_or
83
+ attr_accessor :title_multi_like_and
84
+ attr_accessor :end_time_greater_than_or_equal
85
+ attr_accessor :end_time_less_than_or_equal
86
+ attr_accessor :duration_greater_than_or_equal
87
+ attr_accessor :duration_less_than_or_equal
88
+
89
+ def end_time_greater_than_or_equal=(val)
90
+ @end_time_greater_than_or_equal = val.to_i
91
+ end
92
+ def end_time_less_than_or_equal=(val)
93
+ @end_time_less_than_or_equal = val.to_i
94
+ end
95
+ def duration_greater_than_or_equal=(val)
96
+ @duration_greater_than_or_equal = val.to_i
97
+ end
98
+ def duration_less_than_or_equal=(val)
99
+ @duration_less_than_or_equal = val.to_i
100
+ end
101
+ end
102
+
103
+ class KalturaAdCuePointFilter < KalturaAdCuePointBaseFilter
104
+
105
+ end
106
+
107
+
108
+ end
@@ -0,0 +1,237 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+ require File.dirname(__FILE__) + '/kaltura_cue_point_client_plugin.rb'
30
+
31
+ module Kaltura
32
+
33
+ class KalturaAnnotationOrderBy
34
+ CREATED_AT_ASC = "+createdAt"
35
+ DURATION_ASC = "+duration"
36
+ END_TIME_ASC = "+endTime"
37
+ PARTNER_SORT_VALUE_ASC = "+partnerSortValue"
38
+ START_TIME_ASC = "+startTime"
39
+ UPDATED_AT_ASC = "+updatedAt"
40
+ CREATED_AT_DESC = "-createdAt"
41
+ DURATION_DESC = "-duration"
42
+ END_TIME_DESC = "-endTime"
43
+ PARTNER_SORT_VALUE_DESC = "-partnerSortValue"
44
+ START_TIME_DESC = "-startTime"
45
+ UPDATED_AT_DESC = "-updatedAt"
46
+ end
47
+
48
+ class KalturaAnnotation < KalturaCuePoint
49
+ attr_accessor :parent_id
50
+ attr_accessor :text
51
+ # End time in milliseconds
52
+ #
53
+ attr_accessor :end_time
54
+ # Duration in milliseconds
55
+ #
56
+ attr_accessor :duration
57
+ # Depth in the tree
58
+ #
59
+ attr_accessor :depth
60
+ # Number of all descendants
61
+ #
62
+ attr_accessor :children_count
63
+ # Number of children, first generation only.
64
+ #
65
+ attr_accessor :direct_children_count
66
+
67
+ def end_time=(val)
68
+ @end_time = val.to_i
69
+ end
70
+ def duration=(val)
71
+ @duration = val.to_i
72
+ end
73
+ def depth=(val)
74
+ @depth = val.to_i
75
+ end
76
+ def children_count=(val)
77
+ @children_count = val.to_i
78
+ end
79
+ def direct_children_count=(val)
80
+ @direct_children_count = val.to_i
81
+ end
82
+ end
83
+
84
+ class KalturaAnnotationListResponse < KalturaObjectBase
85
+ attr_accessor :objects
86
+ attr_accessor :total_count
87
+
88
+ def total_count=(val)
89
+ @total_count = val.to_i
90
+ end
91
+ end
92
+
93
+ class KalturaAnnotationBaseFilter < KalturaCuePointFilter
94
+ attr_accessor :parent_id_equal
95
+ attr_accessor :parent_id_in
96
+ attr_accessor :text_like
97
+ attr_accessor :text_multi_like_or
98
+ attr_accessor :text_multi_like_and
99
+ attr_accessor :end_time_greater_than_or_equal
100
+ attr_accessor :end_time_less_than_or_equal
101
+ attr_accessor :duration_greater_than_or_equal
102
+ attr_accessor :duration_less_than_or_equal
103
+
104
+ def end_time_greater_than_or_equal=(val)
105
+ @end_time_greater_than_or_equal = val.to_i
106
+ end
107
+ def end_time_less_than_or_equal=(val)
108
+ @end_time_less_than_or_equal = val.to_i
109
+ end
110
+ def duration_greater_than_or_equal=(val)
111
+ @duration_greater_than_or_equal = val.to_i
112
+ end
113
+ def duration_less_than_or_equal=(val)
114
+ @duration_less_than_or_equal = val.to_i
115
+ end
116
+ end
117
+
118
+ class KalturaAnnotationFilter < KalturaAnnotationBaseFilter
119
+
120
+ end
121
+
122
+
123
+ # Annotation service - Video Annotation
124
+ #
125
+ class KalturaAnnotationService < KalturaServiceBase
126
+ def initialize(client)
127
+ super(client)
128
+ end
129
+
130
+ # Allows you to add an annotation object associated with an entry
131
+ #
132
+ def add(annotation)
133
+ kparams = {}
134
+ client.add_param(kparams, 'annotation', annotation);
135
+ client.queue_service_action_call('annotation_annotation', 'add', kparams);
136
+ if (client.is_multirequest)
137
+ return nil;
138
+ end
139
+ return client.do_queue();
140
+ end
141
+
142
+ # Update annotation by id
143
+ #
144
+ def update(id, annotation)
145
+ kparams = {}
146
+ client.add_param(kparams, 'id', id);
147
+ client.add_param(kparams, 'annotation', annotation);
148
+ client.queue_service_action_call('annotation_annotation', 'update', kparams);
149
+ if (client.is_multirequest)
150
+ return nil;
151
+ end
152
+ return client.do_queue();
153
+ end
154
+
155
+ # List annotation objects by filter and pager
156
+ #
157
+ def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
158
+ kparams = {}
159
+ client.add_param(kparams, 'filter', filter);
160
+ client.add_param(kparams, 'pager', pager);
161
+ client.queue_service_action_call('annotation_annotation', 'list', kparams);
162
+ if (client.is_multirequest)
163
+ return nil;
164
+ end
165
+ return client.do_queue();
166
+ end
167
+
168
+ # Allows you to add multiple cue points objects by uploading XML that contains multiple cue point definitions
169
+ #
170
+ def add_from_bulk(file_data)
171
+ kparams = {}
172
+ client.add_param(kparams, 'fileData', file_data);
173
+ client.queue_service_action_call('annotation_annotation', 'addFromBulk', kparams);
174
+ if (client.is_multirequest)
175
+ return nil;
176
+ end
177
+ return client.do_queue();
178
+ end
179
+
180
+ # Download multiple cue points objects as XML definitions
181
+ #
182
+ def serve_bulk(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
183
+ kparams = {}
184
+ client.add_param(kparams, 'filter', filter);
185
+ client.add_param(kparams, 'pager', pager);
186
+ client.queue_service_action_call('annotation_annotation', 'serveBulk', kparams);
187
+ return client.get_serve_url();
188
+ end
189
+
190
+ # Retrieve an CuePoint object by id
191
+ #
192
+ def get(id)
193
+ kparams = {}
194
+ client.add_param(kparams, 'id', id);
195
+ client.queue_service_action_call('annotation_annotation', 'get', kparams);
196
+ if (client.is_multirequest)
197
+ return nil;
198
+ end
199
+ return client.do_queue();
200
+ end
201
+
202
+ # count cue point objects by filter
203
+ #
204
+ def count(filter=KalturaNotImplemented)
205
+ kparams = {}
206
+ client.add_param(kparams, 'filter', filter);
207
+ client.queue_service_action_call('annotation_annotation', 'count', kparams);
208
+ if (client.is_multirequest)
209
+ return nil;
210
+ end
211
+ return client.do_queue();
212
+ end
213
+
214
+ # delete cue point by id, and delete all children cue points
215
+ #
216
+ def delete(id)
217
+ kparams = {}
218
+ client.add_param(kparams, 'id', id);
219
+ client.queue_service_action_call('annotation_annotation', 'delete', kparams);
220
+ if (client.is_multirequest)
221
+ return nil;
222
+ end
223
+ return client.do_queue();
224
+ end
225
+ end
226
+
227
+ class KalturaClient < KalturaClientBase
228
+ attr_reader :annotation_service
229
+ def annotation_service
230
+ if (@annotation_service == nil)
231
+ @annotation_service = KalturaAnnotationService.new(self)
232
+ end
233
+ return @annotation_service
234
+ end
235
+ end
236
+
237
+ end
@@ -0,0 +1,61 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+
30
+ module Kaltura
31
+
32
+
33
+ # Aspera service
34
+ #
35
+ class KalturaAsperaService < KalturaServiceBase
36
+ def initialize(client)
37
+ super(client)
38
+ end
39
+
40
+ def get_fasp_url(flavor_asset_id)
41
+ kparams = {}
42
+ client.add_param(kparams, 'flavorAssetId', flavor_asset_id);
43
+ client.queue_service_action_call('aspera_aspera', 'getFaspUrl', kparams);
44
+ if (client.is_multirequest)
45
+ return nil;
46
+ end
47
+ return client.do_queue();
48
+ end
49
+ end
50
+
51
+ class KalturaClient < KalturaClientBase
52
+ attr_reader :aspera_service
53
+ def aspera_service
54
+ if (@aspera_service == nil)
55
+ @aspera_service = KalturaAsperaService.new(self)
56
+ end
57
+ return @aspera_service
58
+ end
59
+ end
60
+
61
+ end
@@ -0,0 +1,227 @@
1
+ # ===================================================================================================
2
+ # _ __ _ _
3
+ # | |/ /__ _| | |_ _ _ _ _ __ _
4
+ # | ' </ _` | | _| || | '_/ _` |
5
+ # |_|\_\__,_|_|\__|\_,_|_| \__,_|
6
+ #
7
+ # This file is part of the Kaltura Collaborative Media Suite which allows users
8
+ # to do with audio, video, and animation what Wiki platfroms allow them to do with
9
+ # text.
10
+ #
11
+ # Copyright (C) 2006-2011 Kaltura Inc.
12
+ #
13
+ # This program is free software: you can redistribute it and/or modify
14
+ # it under the terms of the GNU Affero General Public License as
15
+ # published by the Free Software Foundation, either version 3 of the
16
+ # License, or (at your option) any later version.
17
+ #
18
+ # This program is distributed in the hope that it will be useful,
19
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
+ # GNU Affero General Public License for more details.
22
+ #
23
+ # You should have received a copy of the GNU Affero General Public License
24
+ # along with this program. If not, see <http:#www.gnu.org/licenses/>.
25
+ #
26
+ # @ignore
27
+ # ===================================================================================================
28
+ require 'kaltura_client.rb'
29
+
30
+ module Kaltura
31
+
32
+ class KalturaAttachmentAssetStatus
33
+ ERROR = -1
34
+ QUEUED = 0
35
+ READY = 2
36
+ DELETED = 3
37
+ IMPORTING = 7
38
+ EXPORTING = 9
39
+ end
40
+
41
+ class KalturaAttachmentAssetOrderBy
42
+ CREATED_AT_ASC = "+createdAt"
43
+ DELETED_AT_ASC = "+deletedAt"
44
+ SIZE_ASC = "+size"
45
+ UPDATED_AT_ASC = "+updatedAt"
46
+ CREATED_AT_DESC = "-createdAt"
47
+ DELETED_AT_DESC = "-deletedAt"
48
+ SIZE_DESC = "-size"
49
+ UPDATED_AT_DESC = "-updatedAt"
50
+ end
51
+
52
+ class KalturaAttachmentType
53
+ TEXT = "1"
54
+ MEDIA = "2"
55
+ DOCUMENT = "3"
56
+ end
57
+
58
+ class KalturaAttachmentAsset < KalturaAsset
59
+ # The filename of the attachment asset content
60
+ #
61
+ attr_accessor :filename
62
+ # Attachment asset title
63
+ #
64
+ attr_accessor :title
65
+ # The attachment format
66
+ #
67
+ attr_accessor :format
68
+ # The status of the asset
69
+ #
70
+ attr_accessor :status
71
+
72
+ def status=(val)
73
+ @status = val.to_i
74
+ end
75
+ end
76
+
77
+ class KalturaAttachmentAssetListResponse < KalturaObjectBase
78
+ attr_accessor :objects
79
+ attr_accessor :total_count
80
+
81
+ def total_count=(val)
82
+ @total_count = val.to_i
83
+ end
84
+ end
85
+
86
+ class KalturaAttachmentAssetBaseFilter < KalturaAssetFilter
87
+ attr_accessor :format_equal
88
+ attr_accessor :format_in
89
+ attr_accessor :status_equal
90
+ attr_accessor :status_in
91
+ attr_accessor :status_not_in
92
+
93
+ def status_equal=(val)
94
+ @status_equal = val.to_i
95
+ end
96
+ end
97
+
98
+ class KalturaAttachmentAssetFilter < KalturaAttachmentAssetBaseFilter
99
+
100
+ end
101
+
102
+
103
+ # Retrieve information and invoke actions on attachment Asset
104
+ #
105
+ class KalturaAttachmentAssetService < KalturaServiceBase
106
+ def initialize(client)
107
+ super(client)
108
+ end
109
+
110
+ # Add attachment asset
111
+ #
112
+ def add(entry_id, attachment_asset)
113
+ kparams = {}
114
+ client.add_param(kparams, 'entryId', entry_id);
115
+ client.add_param(kparams, 'attachmentAsset', attachment_asset);
116
+ client.queue_service_action_call('attachment_attachmentasset', 'add', kparams);
117
+ if (client.is_multirequest)
118
+ return nil;
119
+ end
120
+ return client.do_queue();
121
+ end
122
+
123
+ # Update content of attachment asset
124
+ #
125
+ def set_content(id, content_resource)
126
+ kparams = {}
127
+ client.add_param(kparams, 'id', id);
128
+ client.add_param(kparams, 'contentResource', content_resource);
129
+ client.queue_service_action_call('attachment_attachmentasset', 'setContent', kparams);
130
+ if (client.is_multirequest)
131
+ return nil;
132
+ end
133
+ return client.do_queue();
134
+ end
135
+
136
+ # Update attachment asset
137
+ #
138
+ def update(id, attachment_asset)
139
+ kparams = {}
140
+ client.add_param(kparams, 'id', id);
141
+ client.add_param(kparams, 'attachmentAsset', attachment_asset);
142
+ client.queue_service_action_call('attachment_attachmentasset', 'update', kparams);
143
+ if (client.is_multirequest)
144
+ return nil;
145
+ end
146
+ return client.do_queue();
147
+ end
148
+
149
+ # Get download URL for the asset
150
+ #
151
+ def get_url(id, storage_id=KalturaNotImplemented)
152
+ kparams = {}
153
+ client.add_param(kparams, 'id', id);
154
+ client.add_param(kparams, 'storageId', storage_id);
155
+ client.queue_service_action_call('attachment_attachmentasset', 'getUrl', kparams);
156
+ if (client.is_multirequest)
157
+ return nil;
158
+ end
159
+ return client.do_queue();
160
+ end
161
+
162
+ # Get remote storage existing paths for the asset
163
+ #
164
+ def get_remote_paths(id)
165
+ kparams = {}
166
+ client.add_param(kparams, 'id', id);
167
+ client.queue_service_action_call('attachment_attachmentasset', 'getRemotePaths', kparams);
168
+ if (client.is_multirequest)
169
+ return nil;
170
+ end
171
+ return client.do_queue();
172
+ end
173
+
174
+ # Serves attachment by its id
175
+ #
176
+ def serve(attachment_asset_id)
177
+ kparams = {}
178
+ client.add_param(kparams, 'attachmentAssetId', attachment_asset_id);
179
+ client.queue_service_action_call('attachment_attachmentasset', 'serve', kparams);
180
+ return client.get_serve_url();
181
+ end
182
+
183
+ def get(attachment_asset_id)
184
+ kparams = {}
185
+ client.add_param(kparams, 'attachmentAssetId', attachment_asset_id);
186
+ client.queue_service_action_call('attachment_attachmentasset', 'get', kparams);
187
+ if (client.is_multirequest)
188
+ return nil;
189
+ end
190
+ return client.do_queue();
191
+ end
192
+
193
+ # List attachment Assets by filter and pager
194
+ #
195
+ def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
196
+ kparams = {}
197
+ client.add_param(kparams, 'filter', filter);
198
+ client.add_param(kparams, 'pager', pager);
199
+ client.queue_service_action_call('attachment_attachmentasset', 'list', kparams);
200
+ if (client.is_multirequest)
201
+ return nil;
202
+ end
203
+ return client.do_queue();
204
+ end
205
+
206
+ def delete(attachment_asset_id)
207
+ kparams = {}
208
+ client.add_param(kparams, 'attachmentAssetId', attachment_asset_id);
209
+ client.queue_service_action_call('attachment_attachmentasset', 'delete', kparams);
210
+ if (client.is_multirequest)
211
+ return nil;
212
+ end
213
+ return client.do_queue();
214
+ end
215
+ end
216
+
217
+ class KalturaClient < KalturaClientBase
218
+ attr_reader :attachment_asset_service
219
+ def attachment_asset_service
220
+ if (@attachment_asset_service == nil)
221
+ @attachment_asset_service = KalturaAttachmentAssetService.new(self)
222
+ end
223
+ return @attachment_asset_service
224
+ end
225
+ end
226
+
227
+ end