files.com 1.1.767 → 1.1.769

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 (140) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +47 -7
  4. data/_VERSION +1 -1
  5. data/docs/event_record.md +2 -2
  6. data/docs/event_subscription.md +8 -8
  7. data/docs/file.md +37 -0
  8. data/docs/public_key.md +1 -1
  9. data/lib/files.com/api.rb +9 -4
  10. data/lib/files.com/api_client.rb +181 -55
  11. data/lib/files.com/list.rb +98 -66
  12. data/lib/files.com/models/action_log.rb +2 -2
  13. data/lib/files.com/models/action_notification_export.rb +3 -3
  14. data/lib/files.com/models/action_notification_export_result.rb +2 -2
  15. data/lib/files.com/models/ai_assistant_personality.rb +10 -8
  16. data/lib/files.com/models/ai_task.rb +10 -8
  17. data/lib/files.com/models/api_key.rb +12 -10
  18. data/lib/files.com/models/api_request_log.rb +2 -2
  19. data/lib/files.com/models/app.rb +2 -2
  20. data/lib/files.com/models/as2_incoming_message.rb +2 -2
  21. data/lib/files.com/models/as2_outgoing_message.rb +2 -2
  22. data/lib/files.com/models/as2_partner.rb +10 -8
  23. data/lib/files.com/models/as2_station.rb +10 -8
  24. data/lib/files.com/models/automation.rb +12 -10
  25. data/lib/files.com/models/automation_log.rb +2 -2
  26. data/lib/files.com/models/automation_run.rb +6 -6
  27. data/lib/files.com/models/bandwidth_snapshot.rb +2 -2
  28. data/lib/files.com/models/behavior.rb +12 -10
  29. data/lib/files.com/models/bundle.rb +10 -8
  30. data/lib/files.com/models/bundle_action.rb +2 -2
  31. data/lib/files.com/models/bundle_download.rb +2 -2
  32. data/lib/files.com/models/bundle_notification.rb +10 -8
  33. data/lib/files.com/models/bundle_recipient.rb +4 -4
  34. data/lib/files.com/models/bundle_registration.rb +2 -2
  35. data/lib/files.com/models/chat_session.rb +3 -3
  36. data/lib/files.com/models/child_site_management_policy.rb +10 -8
  37. data/lib/files.com/models/clickwrap.rb +10 -8
  38. data/lib/files.com/models/custom_domain.rb +11 -9
  39. data/lib/files.com/models/desktop_configuration_profile.rb +10 -8
  40. data/lib/files.com/models/dns_record.rb +2 -2
  41. data/lib/files.com/models/email_incoming_message.rb +2 -2
  42. data/lib/files.com/models/email_log.rb +2 -2
  43. data/lib/files.com/models/event_channel.rb +10 -8
  44. data/lib/files.com/models/event_delivery_attempt.rb +3 -3
  45. data/lib/files.com/models/event_record.rb +4 -4
  46. data/lib/files.com/models/event_subscription.rb +14 -12
  47. data/lib/files.com/models/event_target.rb +10 -8
  48. data/lib/files.com/models/exavault_api_request_log.rb +2 -2
  49. data/lib/files.com/models/expectation.rb +11 -9
  50. data/lib/files.com/models/expectation_evaluation.rb +3 -3
  51. data/lib/files.com/models/expectation_incident.rb +6 -6
  52. data/lib/files.com/models/external_event.rb +5 -5
  53. data/lib/files.com/models/file.rb +23 -15
  54. data/lib/files.com/models/file_comment.rb +9 -7
  55. data/lib/files.com/models/file_comment_reaction.rb +2 -2
  56. data/lib/files.com/models/file_migration.rb +1 -1
  57. data/lib/files.com/models/file_migration_log.rb +2 -2
  58. data/lib/files.com/models/folder.rb +3 -3
  59. data/lib/files.com/models/form_field_set.rb +10 -8
  60. data/lib/files.com/models/ftp_action_log.rb +2 -2
  61. data/lib/files.com/models/gpg_key.rb +10 -8
  62. data/lib/files.com/models/group.rb +10 -8
  63. data/lib/files.com/models/group_user.rb +9 -7
  64. data/lib/files.com/models/history.rb +10 -10
  65. data/lib/files.com/models/history_export.rb +3 -3
  66. data/lib/files.com/models/history_export_result.rb +2 -2
  67. data/lib/files.com/models/holiday_calendar.rb +10 -8
  68. data/lib/files.com/models/holiday_region.rb +2 -2
  69. data/lib/files.com/models/inbound_s3_log.rb +2 -2
  70. data/lib/files.com/models/inbox_recipient.rb +4 -4
  71. data/lib/files.com/models/inbox_registration.rb +2 -2
  72. data/lib/files.com/models/inbox_upload.rb +2 -2
  73. data/lib/files.com/models/integration_centric_profile.rb +10 -8
  74. data/lib/files.com/models/invoice.rb +3 -3
  75. data/lib/files.com/models/ip_address.rb +8 -8
  76. data/lib/files.com/models/key_lifecycle_rule.rb +10 -8
  77. data/lib/files.com/models/lock.rb +3 -3
  78. data/lib/files.com/models/metadata_category.rb +12 -10
  79. data/lib/files.com/models/notification.rb +10 -8
  80. data/lib/files.com/models/outbound_connection_log.rb +2 -2
  81. data/lib/files.com/models/partner.rb +10 -8
  82. data/lib/files.com/models/partner_channel.rb +10 -8
  83. data/lib/files.com/models/partner_channel_template.rb +10 -8
  84. data/lib/files.com/models/partner_site_request.rb +4 -4
  85. data/lib/files.com/models/payment.rb +3 -3
  86. data/lib/files.com/models/pending_work_event.rb +3 -3
  87. data/lib/files.com/models/permission.rb +4 -4
  88. data/lib/files.com/models/public_hosting_request_log.rb +2 -2
  89. data/lib/files.com/models/public_key.rb +11 -9
  90. data/lib/files.com/models/remote_bandwidth_snapshot.rb +2 -2
  91. data/lib/files.com/models/remote_mount_backend.rb +10 -8
  92. data/lib/files.com/models/remote_server.rb +13 -11
  93. data/lib/files.com/models/remote_server_credential.rb +10 -8
  94. data/lib/files.com/models/request.rb +6 -6
  95. data/lib/files.com/models/restore.rb +4 -4
  96. data/lib/files.com/models/schedule.rb +10 -8
  97. data/lib/files.com/models/scheduled_export.rb +10 -8
  98. data/lib/files.com/models/scim_log.rb +3 -3
  99. data/lib/files.com/models/secret.rb +10 -8
  100. data/lib/files.com/models/session.rb +2 -2
  101. data/lib/files.com/models/settings_change.rb +2 -2
  102. data/lib/files.com/models/sftp_action_log.rb +2 -2
  103. data/lib/files.com/models/sftp_host_key.rb +10 -8
  104. data/lib/files.com/models/share_group.rb +10 -8
  105. data/lib/files.com/models/siem_http_destination.rb +10 -8
  106. data/lib/files.com/models/siem_http_destination_event.rb +3 -3
  107. data/lib/files.com/models/site.rb +3 -3
  108. data/lib/files.com/models/site_subdomain_redirect.rb +3 -3
  109. data/lib/files.com/models/snapshot.rb +10 -8
  110. data/lib/files.com/models/sso_event.rb +3 -3
  111. data/lib/files.com/models/sso_strategy.rb +3 -3
  112. data/lib/files.com/models/style.rb +6 -5
  113. data/lib/files.com/models/sync.rb +10 -8
  114. data/lib/files.com/models/sync_log.rb +2 -2
  115. data/lib/files.com/models/sync_run.rb +3 -3
  116. data/lib/files.com/models/usage_daily_snapshot.rb +2 -2
  117. data/lib/files.com/models/usage_snapshot.rb +2 -2
  118. data/lib/files.com/models/user.rb +10 -8
  119. data/lib/files.com/models/user_additional_email_recipient.rb +10 -8
  120. data/lib/files.com/models/user_cipher_use.rb +2 -2
  121. data/lib/files.com/models/user_lifecycle_rule.rb +10 -8
  122. data/lib/files.com/models/user_request.rb +5 -5
  123. data/lib/files.com/models/user_security_event.rb +3 -3
  124. data/lib/files.com/models/user_sftp_client_use.rb +2 -2
  125. data/lib/files.com/models/web_dav_action_log.rb +2 -2
  126. data/lib/files.com/models/webhook_test.rb +2 -2
  127. data/lib/files.com/models/workspace.rb +10 -8
  128. data/lib/files.com/response.rb +24 -0
  129. data/lib/files.com/sizable_io.rb +65 -4
  130. data/lib/files.com/version.rb +1 -1
  131. data/lib/files.com.rb +23 -1
  132. data/spec/language_spec.rb +20 -10
  133. data/spec/lib/api_client_spec.rb +173 -18
  134. data/spec/list_spec.rb +203 -187
  135. data/spec/models/file_transfer_spec.rb +346 -0
  136. data/spec/models/persistence_spec.rb +167 -0
  137. data/spec/spec_helper.rb +122 -6
  138. data/spec/support/stubbed_api.rb +14 -0
  139. data/spec/support/transfer_server.rb +60 -0
  140. metadata +5 -1
@@ -162,7 +162,9 @@ module Files
162
162
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
163
163
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
164
164
 
165
- Api.send_request("/partner_channel_templates/#{@attributes[:id]}", :patch, params, @options)
165
+ response, options = Api.send_request("/partner_channel_templates/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("PartnerChannelTemplate") }
166
+ @attributes = response.data
167
+ [ response, options ]
166
168
  end
167
169
 
168
170
  def delete(params = {})
@@ -182,12 +184,12 @@ module Files
182
184
 
183
185
  def save
184
186
  if @attributes[:id]
185
- new_obj = update(@attributes)
187
+ update(@attributes)
186
188
  else
187
189
  new_obj = PartnerChannelTemplate.create(@attributes, @options)
190
+ @attributes = new_obj.attributes
188
191
  end
189
192
 
190
- @attributes = new_obj.attributes
191
193
  true
192
194
  end
193
195
 
@@ -202,8 +204,8 @@ module Files
202
204
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
203
205
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
204
206
 
205
- List.new(PartnerChannelTemplate, params) do
206
- Api.send_request("/partner_channel_templates", :get, params, options)
207
+ List.new(PartnerChannelTemplate, params) do |page_params, &check_page|
208
+ Api.send_request("/partner_channel_templates", :get, page_params, options, &check_page)
207
209
  end
208
210
  end
209
211
 
@@ -219,7 +221,7 @@ module Files
219
221
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
220
222
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
221
223
 
222
- response, options = Api.send_request("/partner_channel_templates/#{params[:id]}", :get, params, options)
224
+ response, options = Api.send_request("/partner_channel_templates/#{params[:id]}", :get, params, options) { |reply| reply.require_object("PartnerChannelTemplate") }
223
225
  PartnerChannelTemplate.new(response.data, options)
224
226
  end
225
227
 
@@ -253,7 +255,7 @@ module Files
253
255
  raise MissingParameterError.new("Parameter missing: name") unless params[:name]
254
256
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
255
257
 
256
- response, options = Api.send_request("/partner_channel_templates", :post, params, options)
258
+ response, options = Api.send_request("/partner_channel_templates", :post, params, options) { |reply| reply.require_object("PartnerChannelTemplate") }
257
259
  PartnerChannelTemplate.new(response.data, options)
258
260
  end
259
261
 
@@ -283,7 +285,7 @@ module Files
283
285
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
284
286
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
285
287
 
286
- response, options = Api.send_request("/partner_channel_templates/#{params[:id]}", :patch, params, options)
288
+ response, options = Api.send_request("/partner_channel_templates/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("PartnerChannelTemplate") }
287
289
  PartnerChannelTemplate.new(response.data, options)
288
290
  end
289
291
 
@@ -93,9 +93,9 @@ module Files
93
93
  raise NotImplementedError.new("The PartnerSiteRequest object doesn't support updates.")
94
94
  else
95
95
  new_obj = PartnerSiteRequest.create(@attributes, @options)
96
+ @attributes = new_obj.attributes
96
97
  end
97
98
 
98
- @attributes = new_obj.attributes
99
99
  true
100
100
  end
101
101
 
@@ -110,8 +110,8 @@ module Files
110
110
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
111
111
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
112
112
 
113
- List.new(PartnerSiteRequest, params) do
114
- Api.send_request("/partner_site_requests", :get, params, options)
113
+ List.new(PartnerSiteRequest, params) do |page_params, &check_page|
114
+ Api.send_request("/partner_site_requests", :get, page_params, options, &check_page)
115
115
  end
116
116
  end
117
117
 
@@ -138,7 +138,7 @@ module Files
138
138
  raise MissingParameterError.new("Parameter missing: host_partner_id") unless params[:host_partner_id]
139
139
  raise MissingParameterError.new("Parameter missing: guest_site_url") unless params[:guest_site_url]
140
140
 
141
- response, options = Api.send_request("/partner_site_requests", :post, params, options)
141
+ response, options = Api.send_request("/partner_site_requests", :post, params, options) { |reply| reply.require_object("PartnerSiteRequest") }
142
142
  PartnerSiteRequest.new(response.data, options)
143
143
  end
144
144
 
@@ -89,8 +89,8 @@ module Files
89
89
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
90
90
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
91
91
 
92
- List.new(AccountLineItem, params) do
93
- Api.send_request("/payments", :get, params, options)
92
+ List.new(AccountLineItem, params) do |page_params, &check_page|
93
+ Api.send_request("/payments", :get, page_params, options, &check_page)
94
94
  end
95
95
  end
96
96
 
@@ -106,7 +106,7 @@ module Files
106
106
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
107
107
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
108
108
 
109
- response, options = Api.send_request("/payments/#{params[:id]}", :get, params, options)
109
+ response, options = Api.send_request("/payments/#{params[:id]}", :get, params, options) { |reply| reply.require_object("AccountLineItem") }
110
110
  AccountLineItem.new(response.data, options)
111
111
  end
112
112
 
@@ -68,8 +68,8 @@ module Files
68
68
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
69
69
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
70
70
 
71
- List.new(PendingWorkEvent, params) do
72
- Api.send_request("/pending_work_events", :get, params, options)
71
+ List.new(PendingWorkEvent, params) do |page_params, &check_page|
72
+ Api.send_request("/pending_work_events", :get, page_params, options, &check_page)
73
73
  end
74
74
  end
75
75
 
@@ -85,7 +85,7 @@ module Files
85
85
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
86
86
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
87
87
 
88
- response, options = Api.send_request("/pending_work_events/#{params[:id]}", :get, params, options)
88
+ response, options = Api.send_request("/pending_work_events/#{params[:id]}", :get, params, options) { |reply| reply.require_object("PendingWorkEvent") }
89
89
  PendingWorkEvent.new(response.data, options)
90
90
  end
91
91
 
@@ -146,9 +146,9 @@ module Files
146
146
  raise NotImplementedError.new("The Permission object doesn't support updates.")
147
147
  else
148
148
  new_obj = Permission.create(@attributes, @options)
149
+ @attributes = new_obj.attributes
149
150
  end
150
151
 
151
- @attributes = new_obj.attributes
152
152
  true
153
153
  end
154
154
 
@@ -174,8 +174,8 @@ module Files
174
174
  raise InvalidParameterError.new("Bad parameter: partner_id must be an String") if params[:partner_id] and !params[:partner_id].is_a?(String)
175
175
  raise InvalidParameterError.new("Bad parameter: user_id must be an String") if params[:user_id] and !params[:user_id].is_a?(String)
176
176
 
177
- List.new(Permission, params) do
178
- Api.send_request("/permissions", :get, params, options)
177
+ List.new(Permission, params) do |page_params, &check_page|
178
+ Api.send_request("/permissions", :get, page_params, options, &check_page)
179
179
  end
180
180
  end
181
181
 
@@ -206,7 +206,7 @@ module Files
206
206
  raise InvalidParameterError.new("Bad parameter: site_id must be an Integer") if params[:site_id] and !params[:site_id].is_a?(Integer)
207
207
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
208
208
 
209
- response, options = Api.send_request("/permissions", :post, params, options)
209
+ response, options = Api.send_request("/permissions", :post, params, options) { |reply| reply.require_object("Permission") }
210
210
  Permission.new(response.data, options)
211
211
  end
212
212
 
@@ -83,8 +83,8 @@ module Files
83
83
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
84
84
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
85
85
 
86
- List.new(PublicHostingRequestLog, params) do
87
- Api.send_request("/public_hosting_request_logs", :get, params, options)
86
+ List.new(PublicHostingRequestLog, params) do |page_params, &check_page|
87
+ Api.send_request("/public_hosting_request_logs", :get, page_params, options, &check_page)
88
88
  end
89
89
  end
90
90
 
@@ -187,7 +187,9 @@ module Files
187
187
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
188
188
  raise MissingParameterError.new("Parameter missing: title") unless params[:title]
189
189
 
190
- Api.send_request("/public_keys/#{@attributes[:id]}", :patch, params, @options)
190
+ response, options = Api.send_request("/public_keys/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("PublicKey") }
191
+ @attributes = response.data
192
+ [ response, options ]
191
193
  end
192
194
 
193
195
  def delete(params = {})
@@ -207,12 +209,12 @@ module Files
207
209
 
208
210
  def save
209
211
  if @attributes[:id]
210
- new_obj = update(@attributes)
212
+ update(@attributes)
211
213
  else
212
214
  new_obj = PublicKey.create(@attributes, @options)
215
+ @attributes = new_obj.attributes
213
216
  end
214
217
 
215
- @attributes = new_obj.attributes
216
218
  true
217
219
  end
218
220
 
@@ -221,7 +223,7 @@ module Files
221
223
  # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
222
224
  # per_page - int64 - Number of records to show per page. (Max: 10000, 1,000 or less is recommended).
223
225
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`, `user_id`, `title` or `created_at`.
224
- # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at` and `workspace_id`.
226
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at` and `workspace_id`. Valid field combinations are `[ workspace_id, created_at ]`.
225
227
  # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.
226
228
  # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.
227
229
  # filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`.
@@ -237,8 +239,8 @@ module Files
237
239
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
238
240
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
239
241
 
240
- List.new(PublicKey, params) do
241
- Api.send_request("/public_keys", :get, params, options)
242
+ List.new(PublicKey, params) do |page_params, &check_page|
243
+ Api.send_request("/public_keys", :get, page_params, options, &check_page)
242
244
  end
243
245
  end
244
246
 
@@ -254,7 +256,7 @@ module Files
254
256
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
255
257
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
256
258
 
257
- response, options = Api.send_request("/public_keys/#{params[:id]}", :get, params, options)
259
+ response, options = Api.send_request("/public_keys/#{params[:id]}", :get, params, options) { |reply| reply.require_object("PublicKey") }
258
260
  PublicKey.new(response.data, options)
259
261
  end
260
262
 
@@ -279,7 +281,7 @@ module Files
279
281
  raise InvalidParameterError.new("Bad parameter: generate_length must be an Integer") if params[:generate_length] and !params[:generate_length].is_a?(Integer)
280
282
  raise MissingParameterError.new("Parameter missing: title") unless params[:title]
281
283
 
282
- response, options = Api.send_request("/public_keys", :post, params, options)
284
+ response, options = Api.send_request("/public_keys", :post, params, options) { |reply| reply.require_object("PublicKey") }
283
285
  PublicKey.new(response.data, options)
284
286
  end
285
287
 
@@ -293,7 +295,7 @@ module Files
293
295
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
294
296
  raise MissingParameterError.new("Parameter missing: title") unless params[:title]
295
297
 
296
- response, options = Api.send_request("/public_keys/#{params[:id]}", :patch, params, options)
298
+ response, options = Api.send_request("/public_keys/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("PublicKey") }
297
299
  PublicKey.new(response.data, options)
298
300
  end
299
301
 
@@ -53,8 +53,8 @@ module Files
53
53
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash)
54
54
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash)
55
55
 
56
- List.new(RemoteBandwidthSnapshot, params) do
57
- Api.send_request("/remote_bandwidth_snapshots", :get, params, options)
56
+ List.new(RemoteBandwidthSnapshot, params) do |page_params, &check_page|
57
+ Api.send_request("/remote_bandwidth_snapshots", :get, page_params, options, &check_page)
58
58
  end
59
59
  end
60
60
 
@@ -209,7 +209,9 @@ module Files
209
209
  raise InvalidParameterError.new("Bad parameter: remote_server_id must be an Integer") if params[:remote_server_id] and !params[:remote_server_id].is_a?(Integer)
210
210
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
211
211
 
212
- Api.send_request("/remote_mount_backends/#{@attributes[:id]}", :patch, params, @options)
212
+ response, options = Api.send_request("/remote_mount_backends/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("RemoteMountBackend") }
213
+ @attributes = response.data
214
+ [ response, options ]
213
215
  end
214
216
 
215
217
  def delete(params = {})
@@ -229,12 +231,12 @@ module Files
229
231
 
230
232
  def save
231
233
  if @attributes[:id]
232
- new_obj = update(@attributes)
234
+ update(@attributes)
233
235
  else
234
236
  new_obj = RemoteMountBackend.create(@attributes, @options)
237
+ @attributes = new_obj.attributes
235
238
  end
236
239
 
237
- @attributes = new_obj.attributes
238
240
  true
239
241
  end
240
242
 
@@ -247,8 +249,8 @@ module Files
247
249
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
248
250
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
249
251
 
250
- List.new(RemoteMountBackend, params) do
251
- Api.send_request("/remote_mount_backends", :get, params, options)
252
+ List.new(RemoteMountBackend, params) do |page_params, &check_page|
253
+ Api.send_request("/remote_mount_backends", :get, page_params, options, &check_page)
252
254
  end
253
255
  end
254
256
 
@@ -264,7 +266,7 @@ module Files
264
266
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
265
267
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
266
268
 
267
- response, options = Api.send_request("/remote_mount_backends/#{params[:id]}", :get, params, options)
269
+ response, options = Api.send_request("/remote_mount_backends/#{params[:id]}", :get, params, options) { |reply| reply.require_object("RemoteMountBackend") }
268
270
  RemoteMountBackend.new(response.data, options)
269
271
  end
270
272
 
@@ -302,7 +304,7 @@ module Files
302
304
  raise MissingParameterError.new("Parameter missing: remote_server_mount_id") unless params[:remote_server_mount_id]
303
305
  raise MissingParameterError.new("Parameter missing: remote_server_id") unless params[:remote_server_id]
304
306
 
305
- response, options = Api.send_request("/remote_mount_backends", :post, params, options)
307
+ response, options = Api.send_request("/remote_mount_backends", :post, params, options) { |reply| reply.require_object("RemoteMountBackend") }
306
308
  RemoteMountBackend.new(response.data, options)
307
309
  end
308
310
 
@@ -346,7 +348,7 @@ module Files
346
348
  raise InvalidParameterError.new("Bad parameter: remote_server_id must be an Integer") if params[:remote_server_id] and !params[:remote_server_id].is_a?(Integer)
347
349
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
348
350
 
349
- response, options = Api.send_request("/remote_mount_backends/#{params[:id]}", :patch, params, options)
351
+ response, options = Api.send_request("/remote_mount_backends/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("RemoteMountBackend") }
350
352
  RemoteMountBackend.new(response.data, options)
351
353
  end
352
354
 
@@ -1116,7 +1116,9 @@ module Files
1116
1116
  raise InvalidParameterError.new("Bad parameter: wasabi_region must be an String") if params[:wasabi_region] and !params[:wasabi_region].is_a?(String)
1117
1117
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
1118
1118
 
1119
- Api.send_request("/remote_servers/#{@attributes[:id]}", :patch, params, @options)
1119
+ response, options = Api.send_request("/remote_servers/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("RemoteServer") }
1120
+ @attributes = response.data
1121
+ [ response, options ]
1120
1122
  end
1121
1123
 
1122
1124
  def delete(params = {})
@@ -1136,12 +1138,12 @@ module Files
1136
1138
 
1137
1139
  def save
1138
1140
  if @attributes[:id]
1139
- new_obj = update(@attributes)
1141
+ update(@attributes)
1140
1142
  else
1141
1143
  new_obj = RemoteServer.create(@attributes, @options)
1144
+ @attributes = new_obj.attributes
1142
1145
  end
1143
1146
 
1144
- @attributes = new_obj.attributes
1145
1147
  true
1146
1148
  end
1147
1149
 
@@ -1160,8 +1162,8 @@ module Files
1160
1162
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
1161
1163
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
1162
1164
 
1163
- List.new(RemoteServer, params) do
1164
- Api.send_request("/remote_servers", :get, params, options)
1165
+ List.new(RemoteServer, params) do |page_params, &check_page|
1166
+ Api.send_request("/remote_servers", :get, page_params, options, &check_page)
1165
1167
  end
1166
1168
  end
1167
1169
 
@@ -1177,7 +1179,7 @@ module Files
1177
1179
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
1178
1180
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
1179
1181
 
1180
- response, options = Api.send_request("/remote_servers/#{params[:id]}", :get, params, options)
1182
+ response, options = Api.send_request("/remote_servers/#{params[:id]}", :get, params, options) { |reply| reply.require_object("RemoteServer") }
1181
1183
  RemoteServer.new(response.data, options)
1182
1184
  end
1183
1185
 
@@ -1192,7 +1194,7 @@ module Files
1192
1194
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
1193
1195
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
1194
1196
 
1195
- response, options = Api.send_request("/remote_servers/#{params[:id]}/agent_nodes", :get, params, options)
1197
+ response, options = Api.send_request("/remote_servers/#{params[:id]}/agent_nodes", :get, params, options) { |reply| reply.require_object("AgentNode") }
1196
1198
  AgentNode.new(response.data, options)
1197
1199
  end
1198
1200
 
@@ -1204,7 +1206,7 @@ module Files
1204
1206
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
1205
1207
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
1206
1208
 
1207
- response, options = Api.send_request("/remote_servers/#{params[:id]}/configuration_file", :get, params, options)
1209
+ response, options = Api.send_request("/remote_servers/#{params[:id]}/configuration_file", :get, params, options) { |reply| reply.require_object("RemoteServerConfigurationFile") }
1208
1210
  RemoteServerConfigurationFile.new(response.data, options)
1209
1211
  end
1210
1212
 
@@ -1374,7 +1376,7 @@ module Files
1374
1376
  raise InvalidParameterError.new("Bad parameter: wasabi_region must be an String") if params[:wasabi_region] and !params[:wasabi_region].is_a?(String)
1375
1377
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
1376
1378
 
1377
- response, options = Api.send_request("/remote_servers", :post, params, options)
1379
+ response, options = Api.send_request("/remote_servers", :post, params, options) { |reply| reply.require_object("RemoteServer") }
1378
1380
  RemoteServer.new(response.data, options)
1379
1381
  end
1380
1382
 
@@ -1385,7 +1387,7 @@ module Files
1385
1387
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
1386
1388
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
1387
1389
 
1388
- response, options = Api.send_request("/remote_servers/#{params[:id]}/agent_push_update", :post, params, options)
1390
+ response, options = Api.send_request("/remote_servers/#{params[:id]}/agent_push_update", :post, params, options) { |reply| reply.require_object("AgentPushUpdate") }
1389
1391
  AgentPushUpdate.new(response.data, options)
1390
1392
  end
1391
1393
 
@@ -1555,7 +1557,7 @@ module Files
1555
1557
  raise InvalidParameterError.new("Bad parameter: wasabi_region must be an String") if params[:wasabi_region] and !params[:wasabi_region].is_a?(String)
1556
1558
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
1557
1559
 
1558
- response, options = Api.send_request("/remote_servers/#{params[:id]}", :patch, params, options)
1560
+ response, options = Api.send_request("/remote_servers/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("RemoteServer") }
1559
1561
  RemoteServer.new(response.data, options)
1560
1562
  end
1561
1563
 
@@ -436,7 +436,9 @@ module Files
436
436
  raise InvalidParameterError.new("Bad parameter: wasabi_secret_key must be an String") if params[:wasabi_secret_key] and !params[:wasabi_secret_key].is_a?(String)
437
437
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
438
438
 
439
- Api.send_request("/remote_server_credentials/#{@attributes[:id]}", :patch, params, @options)
439
+ response, options = Api.send_request("/remote_server_credentials/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("RemoteServerCredential") }
440
+ @attributes = response.data
441
+ [ response, options ]
440
442
  end
441
443
 
442
444
  def delete(params = {})
@@ -456,12 +458,12 @@ module Files
456
458
 
457
459
  def save
458
460
  if @attributes[:id]
459
- new_obj = update(@attributes)
461
+ update(@attributes)
460
462
  else
461
463
  new_obj = RemoteServerCredential.create(@attributes, @options)
464
+ @attributes = new_obj.attributes
462
465
  end
463
466
 
464
- @attributes = new_obj.attributes
465
467
  true
466
468
  end
467
469
 
@@ -478,8 +480,8 @@ module Files
478
480
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
479
481
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)
480
482
 
481
- List.new(RemoteServerCredential, params) do
482
- Api.send_request("/remote_server_credentials", :get, params, options)
483
+ List.new(RemoteServerCredential, params) do |page_params, &check_page|
484
+ Api.send_request("/remote_server_credentials", :get, page_params, options, &check_page)
483
485
  end
484
486
  end
485
487
 
@@ -495,7 +497,7 @@ module Files
495
497
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
496
498
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
497
499
 
498
- response, options = Api.send_request("/remote_server_credentials/#{params[:id]}", :get, params, options)
500
+ response, options = Api.send_request("/remote_server_credentials/#{params[:id]}", :get, params, options) { |reply| reply.require_object("RemoteServerCredential") }
499
501
  RemoteServerCredential.new(response.data, options)
500
502
  end
501
503
 
@@ -578,7 +580,7 @@ module Files
578
580
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
579
581
  raise InvalidParameterError.new("Bad parameter: copy_values_from_credential_id must be an Integer") if params[:copy_values_from_credential_id] and !params[:copy_values_from_credential_id].is_a?(Integer)
580
582
 
581
- response, options = Api.send_request("/remote_server_credentials", :post, params, options)
583
+ response, options = Api.send_request("/remote_server_credentials", :post, params, options) { |reply| reply.require_object("RemoteServerCredential") }
582
584
  RemoteServerCredential.new(response.data, options)
583
585
  end
584
586
 
@@ -657,7 +659,7 @@ module Files
657
659
  raise InvalidParameterError.new("Bad parameter: wasabi_secret_key must be an String") if params[:wasabi_secret_key] and !params[:wasabi_secret_key].is_a?(String)
658
660
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
659
661
 
660
- response, options = Api.send_request("/remote_server_credentials/#{params[:id]}", :patch, params, options)
662
+ response, options = Api.send_request("/remote_server_credentials/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("RemoteServerCredential") }
661
663
  RemoteServerCredential.new(response.data, options)
662
664
  end
663
665
 
@@ -101,9 +101,9 @@ module Files
101
101
  raise NotImplementedError.new("The Request object doesn't support updates.")
102
102
  else
103
103
  new_obj = Request.create(@attributes, @options)
104
+ @attributes = new_obj.attributes
104
105
  end
105
106
 
106
- @attributes = new_obj.attributes
107
107
  true
108
108
  end
109
109
 
@@ -119,8 +119,8 @@ module Files
119
119
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
120
120
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
121
121
 
122
- List.new(Request, params) do
123
- Api.send_request("/requests", :get, params, options)
122
+ List.new(Request, params) do |page_params, &check_page|
123
+ Api.send_request("/requests", :get, page_params, options, &check_page)
124
124
  end
125
125
  end
126
126
 
@@ -143,8 +143,8 @@ module Files
143
143
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params[:path] and !params[:path].is_a?(String)
144
144
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
145
145
 
146
- List.new(Request, params) do
147
- Api.send_request("/requests/folders/#{params[:path]}", :get, params, options)
146
+ List.new(Request, params) do |page_params, &check_page|
147
+ Api.send_request("/requests/folders/#{page_params[:path]}", :get, page_params, options, &check_page)
148
148
  end
149
149
  end
150
150
 
@@ -161,7 +161,7 @@ module Files
161
161
  raise MissingParameterError.new("Parameter missing: path") unless params[:path]
162
162
  raise MissingParameterError.new("Parameter missing: destination") unless params[:destination]
163
163
 
164
- response, options = Api.send_request("/requests", :post, params, options)
164
+ response, options = Api.send_request("/requests", :post, params, options) { |reply| reply.require_object("Request") }
165
165
  Request.new(response.data, options)
166
166
  end
167
167
 
@@ -212,9 +212,9 @@ module Files
212
212
  raise NotImplementedError.new("The Restore object doesn't support updates.")
213
213
  else
214
214
  new_obj = Restore.create(@attributes, @options)
215
+ @attributes = new_obj.attributes
215
216
  end
216
217
 
217
- @attributes = new_obj.attributes
218
218
  true
219
219
  end
220
220
 
@@ -229,8 +229,8 @@ module Files
229
229
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
230
230
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
231
231
 
232
- List.new(Restore, params) do
233
- Api.send_request("/restores", :get, params, options)
232
+ List.new(Restore, params) do |page_params, &check_page|
233
+ Api.send_request("/restores", :get, page_params, options, &check_page)
234
234
  end
235
235
  end
236
236
 
@@ -253,7 +253,7 @@ module Files
253
253
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
254
254
  raise MissingParameterError.new("Parameter missing: earliest_date") unless params[:earliest_date]
255
255
 
256
- response, options = Api.send_request("/restores", :post, params, options)
256
+ response, options = Api.send_request("/restores", :post, params, options) { |reply| reply.require_object("Restore") }
257
257
  Restore.new(response.data, options)
258
258
  end
259
259
  end
@@ -100,7 +100,9 @@ module Files
100
100
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
101
101
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
102
102
 
103
- Api.send_request("/schedules/#{@attributes[:id]}", :patch, params, @options)
103
+ response, options = Api.send_request("/schedules/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("Schedule") }
104
+ @attributes = response.data
105
+ [ response, options ]
104
106
  end
105
107
 
106
108
  def delete(params = {})
@@ -120,12 +122,12 @@ module Files
120
122
 
121
123
  def save
122
124
  if @attributes[:id]
123
- new_obj = update(@attributes)
125
+ update(@attributes)
124
126
  else
125
127
  new_obj = Schedule.create(@attributes, @options)
128
+ @attributes = new_obj.attributes
126
129
  end
127
130
 
128
- @attributes = new_obj.attributes
129
131
  true
130
132
  end
131
133
 
@@ -138,8 +140,8 @@ module Files
138
140
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
139
141
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
140
142
 
141
- List.new(Schedule, params) do
142
- Api.send_request("/schedules", :get, params, options)
143
+ List.new(Schedule, params) do |page_params, &check_page|
144
+ Api.send_request("/schedules", :get, page_params, options, &check_page)
143
145
  end
144
146
  end
145
147
 
@@ -155,7 +157,7 @@ module Files
155
157
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
156
158
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
157
159
 
158
- response, options = Api.send_request("/schedules/#{params[:id]}", :get, params, options)
160
+ response, options = Api.send_request("/schedules/#{params[:id]}", :get, params, options) { |reply| reply.require_object("Schedule") }
159
161
  Schedule.new(response.data, options)
160
162
  end
161
163
 
@@ -179,7 +181,7 @@ module Files
179
181
  raise MissingParameterError.new("Parameter missing: schedule_days_of_week") unless params[:schedule_days_of_week]
180
182
  raise MissingParameterError.new("Parameter missing: schedule_times_of_day") unless params[:schedule_times_of_day]
181
183
 
182
- response, options = Api.send_request("/schedules", :post, params, options)
184
+ response, options = Api.send_request("/schedules", :post, params, options) { |reply| reply.require_object("Schedule") }
183
185
  Schedule.new(response.data, options)
184
186
  end
185
187
 
@@ -200,7 +202,7 @@ module Files
200
202
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
201
203
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]
202
204
 
203
- response, options = Api.send_request("/schedules/#{params[:id]}", :patch, params, options)
205
+ response, options = Api.send_request("/schedules/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("Schedule") }
204
206
  Schedule.new(response.data, options)
205
207
  end
206
208