files.com 1.1.786 → 1.1.787

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 (130) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/_VERSION +1 -1
  4. data/lib/files.com/api.rb +20 -5
  5. data/lib/files.com/api_client.rb +196 -17
  6. data/lib/files.com/list.rb +4 -2
  7. data/lib/files.com/models/action_log.rb +4 -1
  8. data/lib/files.com/models/action_notification_export.rb +3 -1
  9. data/lib/files.com/models/action_notification_export_result.rb +4 -1
  10. data/lib/files.com/models/ai_assistant_personality.rb +20 -7
  11. data/lib/files.com/models/ai_task.rb +22 -10
  12. data/lib/files.com/models/api_key.rb +15 -7
  13. data/lib/files.com/models/api_request_log.rb +4 -1
  14. data/lib/files.com/models/app.rb +4 -1
  15. data/lib/files.com/models/as2_incoming_message.rb +4 -1
  16. data/lib/files.com/models/as2_outgoing_message.rb +4 -1
  17. data/lib/files.com/models/as2_partner.rb +18 -7
  18. data/lib/files.com/models/as2_station.rb +14 -7
  19. data/lib/files.com/models/automation.rb +47 -13
  20. data/lib/files.com/models/automation_log.rb +4 -1
  21. data/lib/files.com/models/automation_run.rb +16 -9
  22. data/lib/files.com/models/bandwidth_snapshot.rb +4 -1
  23. data/lib/files.com/models/behavior.rb +27 -9
  24. data/lib/files.com/models/bundle.rb +57 -10
  25. data/lib/files.com/models/bundle_action.rb +4 -1
  26. data/lib/files.com/models/bundle_download.rb +4 -1
  27. data/lib/files.com/models/bundle_notification.rb +20 -7
  28. data/lib/files.com/models/bundle_recipient.rb +6 -1
  29. data/lib/files.com/models/bundle_registration.rb +4 -1
  30. data/lib/files.com/models/chat_session.rb +5 -2
  31. data/lib/files.com/models/child_site_management_policy.rb +18 -7
  32. data/lib/files.com/models/clickwrap.rb +14 -7
  33. data/lib/files.com/models/custom_domain.rb +18 -8
  34. data/lib/files.com/models/desktop_configuration_profile.rb +21 -7
  35. data/lib/files.com/models/dns_record.rb +4 -1
  36. data/lib/files.com/models/email_incoming_message.rb +4 -1
  37. data/lib/files.com/models/email_log.rb +4 -1
  38. data/lib/files.com/models/event_channel.rb +20 -7
  39. data/lib/files.com/models/event_delivery_attempt.rb +5 -2
  40. data/lib/files.com/models/event_record.rb +5 -2
  41. data/lib/files.com/models/event_subscription.rb +25 -7
  42. data/lib/files.com/models/event_target.rb +22 -7
  43. data/lib/files.com/models/exavault_api_request_log.rb +4 -1
  44. data/lib/files.com/models/expectation.rb +23 -10
  45. data/lib/files.com/models/expectation_evaluation.rb +5 -2
  46. data/lib/files.com/models/expectation_incident.rb +20 -11
  47. data/lib/files.com/models/external_event.rb +6 -2
  48. data/lib/files.com/models/file.rb +110 -37
  49. data/lib/files.com/models/file_comment.rb +14 -7
  50. data/lib/files.com/models/file_comment_reaction.rb +6 -3
  51. data/lib/files.com/models/file_migration.rb +1 -1
  52. data/lib/files.com/models/file_migration_log.rb +4 -1
  53. data/lib/files.com/models/folder.rb +11 -3
  54. data/lib/files.com/models/form_field_set.rb +26 -7
  55. data/lib/files.com/models/ftp_action_log.rb +4 -1
  56. data/lib/files.com/models/gpg_key.rb +15 -7
  57. data/lib/files.com/models/group.rb +30 -7
  58. data/lib/files.com/models/group_user.rb +16 -6
  59. data/lib/files.com/models/history.rb +23 -8
  60. data/lib/files.com/models/history_export.rb +2 -1
  61. data/lib/files.com/models/history_export_result.rb +4 -1
  62. data/lib/files.com/models/holiday_calendar.rb +15 -7
  63. data/lib/files.com/models/holiday_region.rb +4 -1
  64. data/lib/files.com/models/inbound_s3_log.rb +4 -1
  65. data/lib/files.com/models/inbox_recipient.rb +6 -1
  66. data/lib/files.com/models/inbox_registration.rb +4 -1
  67. data/lib/files.com/models/inbox_upload.rb +4 -1
  68. data/lib/files.com/models/integration_centric_profile.rb +17 -7
  69. data/lib/files.com/models/invoice.rb +5 -2
  70. data/lib/files.com/models/ip_address.rb +16 -4
  71. data/lib/files.com/models/key_lifecycle_rule.rb +17 -7
  72. data/lib/files.com/models/lock.rb +16 -6
  73. data/lib/files.com/models/metadata_category.rb +19 -9
  74. data/lib/files.com/models/notification.rb +39 -7
  75. data/lib/files.com/models/outbound_connection_log.rb +4 -1
  76. data/lib/files.com/models/partner.rb +32 -7
  77. data/lib/files.com/models/partner_channel.rb +17 -7
  78. data/lib/files.com/models/partner_channel_template.rb +17 -7
  79. data/lib/files.com/models/partner_site.rb +5 -3
  80. data/lib/files.com/models/partner_site_request.rb +10 -4
  81. data/lib/files.com/models/payment.rb +5 -2
  82. data/lib/files.com/models/pending_work_event.rb +5 -2
  83. data/lib/files.com/models/permission.rb +12 -4
  84. data/lib/files.com/models/public_hosting_request_log.rb +4 -1
  85. data/lib/files.com/models/public_key.rb +15 -7
  86. data/lib/files.com/models/remote_bandwidth_snapshot.rb +4 -1
  87. data/lib/files.com/models/remote_mount_backend.rb +25 -10
  88. data/lib/files.com/models/remote_server.rb +46 -14
  89. data/lib/files.com/models/remote_server_credential.rb +14 -7
  90. data/lib/files.com/models/request.rb +17 -6
  91. data/lib/files.com/models/restore.rb +8 -1
  92. data/lib/files.com/models/schedule.rb +14 -7
  93. data/lib/files.com/models/scheduled_export.rb +18 -7
  94. data/lib/files.com/models/scim_log.rb +5 -2
  95. data/lib/files.com/models/secret.rb +15 -7
  96. data/lib/files.com/models/session.rb +1 -0
  97. data/lib/files.com/models/settings_change.rb +4 -1
  98. data/lib/files.com/models/sftp_action_log.rb +4 -1
  99. data/lib/files.com/models/sftp_host_key.rb +17 -7
  100. data/lib/files.com/models/share_group.rb +14 -7
  101. data/lib/files.com/models/siem_http_destination.rb +67 -7
  102. data/lib/files.com/models/siem_http_destination_event.rb +5 -2
  103. data/lib/files.com/models/site.rb +109 -0
  104. data/lib/files.com/models/site_subdomain_redirect.rb +10 -5
  105. data/lib/files.com/models/snapshot.rb +19 -10
  106. data/lib/files.com/models/sso_event.rb +5 -2
  107. data/lib/files.com/models/sso_strategy.rb +10 -5
  108. data/lib/files.com/models/style.rb +9 -6
  109. data/lib/files.com/models/sync.rb +36 -13
  110. data/lib/files.com/models/sync_log.rb +4 -1
  111. data/lib/files.com/models/sync_run.rb +5 -2
  112. data/lib/files.com/models/usage_daily_snapshot.rb +4 -1
  113. data/lib/files.com/models/usage_snapshot.rb +4 -1
  114. data/lib/files.com/models/user.rb +124 -16
  115. data/lib/files.com/models/user_additional_email_recipient.rb +14 -7
  116. data/lib/files.com/models/user_cipher_use.rb +4 -1
  117. data/lib/files.com/models/user_lifecycle_rule.rb +26 -7
  118. data/lib/files.com/models/user_request.rb +11 -5
  119. data/lib/files.com/models/user_security_event.rb +5 -2
  120. data/lib/files.com/models/user_sftp_client_use.rb +4 -1
  121. data/lib/files.com/models/web_dav_action_log.rb +4 -1
  122. data/lib/files.com/models/webhook_test.rb +3 -0
  123. data/lib/files.com/models/workspace.rb +14 -7
  124. data/lib/files.com/util.rb +32 -1
  125. data/lib/files.com.rb +54 -1
  126. data/spec/lib/api_client_spec.rb +483 -0
  127. data/spec/list_spec.rb +31 -2
  128. data/spec/models/persistence_spec.rb +1 -1
  129. data/spec/models/user_spec.rb +20 -0
  130. metadata +2 -1
@@ -52,27 +52,31 @@ module Files
52
52
  # definition - object - Holiday rules for the calendar.
53
53
  # name - string - Holiday Calendar name.
54
54
  def update(params = {})
55
- params ||= {}
55
+ params = (params || {}).dup
56
56
  params[:id] = @attributes[:id]
57
57
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
58
58
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
59
+ raise InvalidParameterError.new("Bad parameter: definition must be an Hash") if !params[:definition].nil? and !params[:definition].is_a?(Hash)
59
60
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
60
61
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
61
62
 
62
63
  response, options = Api.send_request("/holiday_calendars/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("HolidayCalendar") }
63
64
  @attributes = response.data
65
+ @options = @options.merge(options)
64
66
  [ response, options ]
65
67
  end
66
68
 
67
69
  # Returns the [response, options] pair from Files::Api.send_request.
68
70
  def delete(params = {})
69
- params ||= {}
71
+ params = (params || {}).dup
70
72
  params[:id] = @attributes[:id]
71
73
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
72
74
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
73
75
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
74
76
 
75
- Api.send_request("/holiday_calendars/#{@attributes[:id]}", :delete, params, @options)
77
+ response, options = Api.send_request("/holiday_calendars/#{@attributes[:id]}", :delete, params, @options)
78
+ @options = @options.merge(options)
79
+ [ response, options ]
76
80
  end
77
81
 
78
82
  # Alias for #delete. Returns nil.
@@ -87,6 +91,7 @@ module Files
87
91
  else
88
92
  new_obj = HolidayCalendar.create(@attributes, @options)
89
93
  @attributes = new_obj.attributes
94
+ @options = @options.merge(new_obj.options)
90
95
  end
91
96
 
92
97
  true
@@ -106,8 +111,11 @@ module Files
106
111
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
107
112
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
108
113
 
114
+ list_options = options.dup
109
115
  List.new(HolidayCalendar, params) do |page_params, &check_page|
110
- Api.send_request("/holiday_calendars", :get, page_params, options, &check_page)
116
+ response, page_options = Api.send_request("/holiday_calendars", :get, page_params, list_options, &check_page)
117
+ list_options = list_options.merge(page_options)
118
+ [ response, page_options ]
111
119
  end
112
120
  end
113
121
 
@@ -123,7 +131,7 @@ module Files
123
131
  #
124
132
  # Returns a Files::HolidayCalendar.
125
133
  def self.find(id, params = {}, options = {})
126
- params ||= {}
134
+ params = (params || {}).dup
127
135
  params[:id] = id
128
136
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
129
137
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -163,7 +171,7 @@ module Files
163
171
  #
164
172
  # Returns a Files::HolidayCalendar.
165
173
  def self.update(id, params = {}, options = {})
166
- params ||= {}
174
+ params = (params || {}).dup
167
175
  params[:id] = id
168
176
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
169
177
  raise InvalidParameterError.new("Bad parameter: definition must be an Hash") if !params[:definition].nil? and !params[:definition].is_a?(Hash)
@@ -179,7 +187,7 @@ module Files
179
187
  #
180
188
  # Returns nil.
181
189
  def self.delete(id, params = {}, options = {})
182
- params ||= {}
190
+ params = (params || {}).dup
183
191
  params[:id] = id
184
192
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
185
193
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -33,8 +33,11 @@ module Files
33
33
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
34
34
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
35
35
 
36
+ list_options = options.dup
36
37
  List.new(HolidayRegion, params) do |page_params, &check_page|
37
- Api.send_request("/holiday_regions/supported", :get, page_params, options, &check_page)
38
+ response, page_options = Api.send_request("/holiday_regions/supported", :get, page_params, list_options, &check_page)
39
+ list_options = list_options.merge(page_options)
40
+ [ response, page_options ]
38
41
  end
39
42
  end
40
43
  end
@@ -90,8 +90,11 @@ module Files
90
90
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if !params[:filter_lt].nil? and !params[:filter_lt].is_a?(Hash)
91
91
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if !params[:filter_lteq].nil? and !params[:filter_lteq].is_a?(Hash)
92
92
 
93
+ list_options = options.dup
93
94
  List.new(InboundS3Log, params) do |page_params, &check_page|
94
- Api.send_request("/inbound_s3_logs", :get, page_params, options, &check_page)
95
+ response, page_options = Api.send_request("/inbound_s3_logs", :get, page_params, list_options, &check_page)
96
+ list_options = list_options.merge(page_options)
97
+ [ response, page_options ]
95
98
  end
96
99
  end
97
100
 
@@ -80,6 +80,7 @@ module Files
80
80
  else
81
81
  new_obj = InboxRecipient.create(@attributes, @options)
82
82
  @attributes = new_obj.attributes
83
+ @options = @options.merge(new_obj.options)
83
84
  end
84
85
 
85
86
  true
@@ -104,8 +105,11 @@ module Files
104
105
  raise InvalidParameterError.new("Bad parameter: inbox_id must be an Integer") if !params[:inbox_id].nil? and !params[:inbox_id].is_a?(Integer)
105
106
  raise MissingParameterError.new("Parameter missing: inbox_id") if params[:inbox_id].nil?
106
107
 
108
+ list_options = options.dup
107
109
  List.new(InboxRecipient, params) do |page_params, &check_page|
108
- Api.send_request("/inbox_recipients", :get, page_params, options, &check_page)
110
+ response, page_options = Api.send_request("/inbox_recipients", :get, page_params, list_options, &check_page)
111
+ list_options = list_options.merge(page_options)
112
+ [ response, page_options ]
109
113
  end
110
114
  end
111
115
 
@@ -131,6 +135,7 @@ module Files
131
135
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
132
136
  raise InvalidParameterError.new("Bad parameter: company must be an String") if !params[:company].nil? and !params[:company].is_a?(String)
133
137
  raise InvalidParameterError.new("Bad parameter: note must be an String") if !params[:note].nil? and !params[:note].is_a?(String)
138
+ raise InvalidParameterError.new("Bad parameter: share_after_create must be a single value, not #{params[:share_after_create].class}") if [ Array, Hash ].any? { |klass| params[:share_after_create].is_a?(klass) }
134
139
  raise MissingParameterError.new("Parameter missing: inbox_id") if params[:inbox_id].nil?
135
140
  raise MissingParameterError.new("Parameter missing: recipient") if params[:recipient].nil?
136
141
 
@@ -85,8 +85,11 @@ module Files
85
85
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
86
86
  raise InvalidParameterError.new("Bad parameter: folder_behavior_id must be an Integer") if !params[:folder_behavior_id].nil? and !params[:folder_behavior_id].is_a?(Integer)
87
87
 
88
+ list_options = options.dup
88
89
  List.new(InboxRegistration, params) do |page_params, &check_page|
89
- Api.send_request("/inbox_registrations", :get, page_params, options, &check_page)
90
+ response, page_options = Api.send_request("/inbox_registrations", :get, page_params, list_options, &check_page)
91
+ list_options = list_options.merge(page_options)
92
+ [ response, page_options ]
90
93
  end
91
94
  end
92
95
 
@@ -50,8 +50,11 @@ module Files
50
50
  raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if !params[:filter_lt].nil? and !params[:filter_lt].is_a?(Hash)
51
51
  raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if !params[:filter_lteq].nil? and !params[:filter_lteq].is_a?(Hash)
52
52
 
53
+ list_options = options.dup
53
54
  List.new(InboxUpload, params) do |page_params, &check_page|
54
- Api.send_request("/inbox_uploads", :get, page_params, options, &check_page)
55
+ response, page_options = Api.send_request("/inbox_uploads", :get, page_params, list_options, &check_page)
56
+ list_options = list_options.merge(page_options)
57
+ [ response, page_options ]
55
58
  end
56
59
  end
57
60
 
@@ -62,29 +62,33 @@ module Files
62
62
  # expected_remote_servers - array(object) - Remote Server integrations the user is expected to add and connect. Each entry requires `server_type` and may include a display `name`.
63
63
  # use_for_all_users - boolean - Whether this profile applies to all users in the Workspace by default
64
64
  def update(params = {})
65
- params ||= {}
65
+ params = (params || {}).dup
66
66
  params[:id] = @attributes[:id]
67
67
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
68
68
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
69
69
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
70
70
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
71
71
  raise InvalidParameterError.new("Bad parameter: expected_remote_servers must be an Array") if !params[:expected_remote_servers].nil? and !params[:expected_remote_servers].is_a?(Array)
72
+ raise InvalidParameterError.new("Bad parameter: use_for_all_users must be a single value, not #{params[:use_for_all_users].class}") if [ Array, Hash ].any? { |klass| params[:use_for_all_users].is_a?(klass) }
72
73
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
73
74
 
74
75
  response, options = Api.send_request("/integration_centric_profiles/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("IntegrationCentricProfile") }
75
76
  @attributes = response.data
77
+ @options = @options.merge(options)
76
78
  [ response, options ]
77
79
  end
78
80
 
79
81
  # Returns the [response, options] pair from Files::Api.send_request.
80
82
  def delete(params = {})
81
- params ||= {}
83
+ params = (params || {}).dup
82
84
  params[:id] = @attributes[:id]
83
85
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
84
86
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
85
87
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
86
88
 
87
- Api.send_request("/integration_centric_profiles/#{@attributes[:id]}", :delete, params, @options)
89
+ response, options = Api.send_request("/integration_centric_profiles/#{@attributes[:id]}", :delete, params, @options)
90
+ @options = @options.merge(options)
91
+ [ response, options ]
88
92
  end
89
93
 
90
94
  # Alias for #delete. Returns nil.
@@ -99,6 +103,7 @@ module Files
99
103
  else
100
104
  new_obj = IntegrationCentricProfile.create(@attributes, @options)
101
105
  @attributes = new_obj.attributes
106
+ @options = @options.merge(new_obj.options)
102
107
  end
103
108
 
104
109
  true
@@ -120,8 +125,11 @@ module Files
120
125
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
121
126
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
122
127
 
128
+ list_options = options.dup
123
129
  List.new(IntegrationCentricProfile, params) do |page_params, &check_page|
124
- Api.send_request("/integration_centric_profiles", :get, page_params, options, &check_page)
130
+ response, page_options = Api.send_request("/integration_centric_profiles", :get, page_params, list_options, &check_page)
131
+ list_options = list_options.merge(page_options)
132
+ [ response, page_options ]
125
133
  end
126
134
  end
127
135
 
@@ -137,7 +145,7 @@ module Files
137
145
  #
138
146
  # Returns a Files::IntegrationCentricProfile.
139
147
  def self.find(id, params = {}, options = {})
140
- params ||= {}
148
+ params = (params || {}).dup
141
149
  params[:id] = id
142
150
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
143
151
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -164,6 +172,7 @@ module Files
164
172
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
165
173
  raise InvalidParameterError.new("Bad parameter: expected_remote_servers must be an Array") if !params[:expected_remote_servers].nil? and !params[:expected_remote_servers].is_a?(Array)
166
174
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
175
+ raise InvalidParameterError.new("Bad parameter: use_for_all_users must be a single value, not #{params[:use_for_all_users].class}") if [ Array, Hash ].any? { |klass| params[:use_for_all_users].is_a?(klass) }
167
176
  raise MissingParameterError.new("Parameter missing: name") if params[:name].nil?
168
177
  raise MissingParameterError.new("Parameter missing: expected_remote_servers") if params[:expected_remote_servers].nil?
169
178
 
@@ -182,12 +191,13 @@ module Files
182
191
  #
183
192
  # Returns a Files::IntegrationCentricProfile.
184
193
  def self.update(id, params = {}, options = {})
185
- params ||= {}
194
+ params = (params || {}).dup
186
195
  params[:id] = id
187
196
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
188
197
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
189
198
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if !params[:workspace_id].nil? and !params[:workspace_id].is_a?(Integer)
190
199
  raise InvalidParameterError.new("Bad parameter: expected_remote_servers must be an Array") if !params[:expected_remote_servers].nil? and !params[:expected_remote_servers].is_a?(Array)
200
+ raise InvalidParameterError.new("Bad parameter: use_for_all_users must be a single value, not #{params[:use_for_all_users].class}") if [ Array, Hash ].any? { |klass| params[:use_for_all_users].is_a?(klass) }
191
201
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
192
202
 
193
203
  response, options = Api.send_request("/integration_centric_profiles/#{params[:id]}", :patch, params, options) { |reply| reply.require_object("IntegrationCentricProfile") }
@@ -199,7 +209,7 @@ module Files
199
209
  #
200
210
  # Returns nil.
201
211
  def self.delete(id, params = {}, options = {})
202
- params ||= {}
212
+ params = (params || {}).dup
203
213
  params[:id] = id
204
214
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
205
215
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -96,8 +96,11 @@ module Files
96
96
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
97
97
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
98
98
 
99
+ list_options = options.dup
99
100
  List.new(AccountLineItem, params) do |page_params, &check_page|
100
- Api.send_request("/invoices", :get, page_params, options, &check_page)
101
+ response, page_options = Api.send_request("/invoices", :get, page_params, list_options, &check_page)
102
+ list_options = list_options.merge(page_options)
103
+ [ response, page_options ]
101
104
  end
102
105
  end
103
106
 
@@ -113,7 +116,7 @@ module Files
113
116
  #
114
117
  # Returns a Files::AccountLineItem.
115
118
  def self.find(id, params = {}, options = {})
116
- params ||= {}
119
+ params = (params || {}).dup
117
120
  params[:id] = id
118
121
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
119
122
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -43,8 +43,11 @@ module Files
43
43
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
44
44
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
45
45
 
46
+ list_options = options.dup
46
47
  List.new(IpAddress, params) do |page_params, &check_page|
47
- Api.send_request("/ip_addresses", :get, page_params, options, &check_page)
48
+ response, page_options = Api.send_request("/ip_addresses", :get, page_params, list_options, &check_page)
49
+ list_options = list_options.merge(page_options)
50
+ [ response, page_options ]
48
51
  end
49
52
  end
50
53
 
@@ -64,8 +67,11 @@ module Files
64
67
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
65
68
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
66
69
 
70
+ list_options = options.dup
67
71
  List.new(PublicIpAddress, params) do |page_params, &check_page|
68
- Api.send_request("/ip_addresses/smartfile-reserved", :get, page_params, options, &check_page)
72
+ response, page_options = Api.send_request("/ip_addresses/smartfile-reserved", :get, page_params, list_options, &check_page)
73
+ list_options = list_options.merge(page_options)
74
+ [ response, page_options ]
69
75
  end
70
76
  end
71
77
 
@@ -81,8 +87,11 @@ module Files
81
87
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
82
88
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
83
89
 
90
+ list_options = options.dup
84
91
  List.new(PublicIpAddress, params) do |page_params, &check_page|
85
- Api.send_request("/ip_addresses/exavault-reserved", :get, page_params, options, &check_page)
92
+ response, page_options = Api.send_request("/ip_addresses/exavault-reserved", :get, page_params, list_options, &check_page)
93
+ list_options = list_options.merge(page_options)
94
+ [ response, page_options ]
86
95
  end
87
96
  end
88
97
 
@@ -98,8 +107,11 @@ module Files
98
107
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
99
108
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
100
109
 
110
+ list_options = options.dup
101
111
  List.new(PublicIpAddress, params) do |page_params, &check_page|
102
- Api.send_request("/ip_addresses/reserved", :get, page_params, options, &check_page)
112
+ response, page_options = Api.send_request("/ip_addresses/reserved", :get, page_params, list_options, &check_page)
113
+ list_options = list_options.merge(page_options)
114
+ [ response, page_options ]
103
115
  end
104
116
  end
105
117
  end
@@ -82,10 +82,11 @@ module Files
82
82
  # name - string - Key Lifecycle Rule name
83
83
  # workspace_id - int64 - Workspace ID. `0` means the default workspace.
84
84
  def update(params = {})
85
- params ||= {}
85
+ params = (params || {}).dup
86
86
  params[:id] = @attributes[:id]
87
87
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
88
88
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
89
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
89
90
  raise InvalidParameterError.new("Bad parameter: expiration_days must be an Integer") if !params[:expiration_days].nil? and !params[:expiration_days].is_a?(Integer)
90
91
  raise InvalidParameterError.new("Bad parameter: key_type must be an String") if !params[:key_type].nil? and !params[:key_type].is_a?(String)
91
92
  raise InvalidParameterError.new("Bad parameter: inactivity_days must be an Integer") if !params[:inactivity_days].nil? and !params[:inactivity_days].is_a?(Integer)
@@ -95,18 +96,21 @@ module Files
95
96
 
96
97
  response, options = Api.send_request("/key_lifecycle_rules/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("KeyLifecycleRule") }
97
98
  @attributes = response.data
99
+ @options = @options.merge(options)
98
100
  [ response, options ]
99
101
  end
100
102
 
101
103
  # Returns the [response, options] pair from Files::Api.send_request.
102
104
  def delete(params = {})
103
- params ||= {}
105
+ params = (params || {}).dup
104
106
  params[:id] = @attributes[:id]
105
107
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
106
108
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
107
109
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
108
110
 
109
- Api.send_request("/key_lifecycle_rules/#{@attributes[:id]}", :delete, params, @options)
111
+ response, options = Api.send_request("/key_lifecycle_rules/#{@attributes[:id]}", :delete, params, @options)
112
+ @options = @options.merge(options)
113
+ [ response, options ]
110
114
  end
111
115
 
112
116
  # Alias for #delete. Returns nil.
@@ -121,6 +125,7 @@ module Files
121
125
  else
122
126
  new_obj = KeyLifecycleRule.create(@attributes, @options)
123
127
  @attributes = new_obj.attributes
128
+ @options = @options.merge(new_obj.options)
124
129
  end
125
130
 
126
131
  true
@@ -142,8 +147,11 @@ module Files
142
147
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
143
148
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if !params[:filter].nil? and !params[:filter].is_a?(Hash)
144
149
 
150
+ list_options = options.dup
145
151
  List.new(KeyLifecycleRule, params) do |page_params, &check_page|
146
- Api.send_request("/key_lifecycle_rules", :get, page_params, options, &check_page)
152
+ response, page_options = Api.send_request("/key_lifecycle_rules", :get, page_params, list_options, &check_page)
153
+ list_options = list_options.merge(page_options)
154
+ [ response, page_options ]
147
155
  end
148
156
  end
149
157
 
@@ -159,7 +167,7 @@ module Files
159
167
  #
160
168
  # Returns a Files::KeyLifecycleRule.
161
169
  def self.find(id, params = {}, options = {})
162
- params ||= {}
170
+ params = (params || {}).dup
163
171
  params[:id] = id
164
172
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
165
173
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -185,6 +193,7 @@ module Files
185
193
  #
186
194
  # Returns a Files::KeyLifecycleRule.
187
195
  def self.create(params = {}, options = {})
196
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
188
197
  raise InvalidParameterError.new("Bad parameter: expiration_days must be an Integer") if !params[:expiration_days].nil? and !params[:expiration_days].is_a?(Integer)
189
198
  raise InvalidParameterError.new("Bad parameter: key_type must be an String") if !params[:key_type].nil? and !params[:key_type].is_a?(String)
190
199
  raise InvalidParameterError.new("Bad parameter: inactivity_days must be an Integer") if !params[:inactivity_days].nil? and !params[:inactivity_days].is_a?(Integer)
@@ -208,9 +217,10 @@ module Files
208
217
  #
209
218
  # Returns a Files::KeyLifecycleRule.
210
219
  def self.update(id, params = {}, options = {})
211
- params ||= {}
220
+ params = (params || {}).dup
212
221
  params[:id] = id
213
222
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
223
+ raise InvalidParameterError.new("Bad parameter: apply_to_all_workspaces must be a single value, not #{params[:apply_to_all_workspaces].class}") if [ Array, Hash ].any? { |klass| params[:apply_to_all_workspaces].is_a?(klass) }
214
224
  raise InvalidParameterError.new("Bad parameter: expiration_days must be an Integer") if !params[:expiration_days].nil? and !params[:expiration_days].is_a?(Integer)
215
225
  raise InvalidParameterError.new("Bad parameter: key_type must be an String") if !params[:key_type].nil? and !params[:key_type].is_a?(String)
216
226
  raise InvalidParameterError.new("Bad parameter: inactivity_days must be an Integer") if !params[:inactivity_days].nil? and !params[:inactivity_days].is_a?(Integer)
@@ -227,7 +237,7 @@ module Files
227
237
  #
228
238
  # Returns nil.
229
239
  def self.delete(id, params = {}, options = {})
230
- params ||= {}
240
+ params = (params || {}).dup
231
241
  params[:id] = id
232
242
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
233
243
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -133,7 +133,7 @@ module Files
133
133
  #
134
134
  # Returns the [response, options] pair from Files::Api.send_request.
135
135
  def delete(params = {})
136
- params ||= {}
136
+ params = (params || {}).dup
137
137
  params[:path] = @attributes[:path]
138
138
  raise MissingParameterError.new("Current object doesn't have a path") unless @attributes[:path]
139
139
  raise InvalidParameterError.new("Bad parameter: path must be an String") if !params[:path].nil? and !params[:path].is_a?(String)
@@ -141,7 +141,9 @@ module Files
141
141
  raise MissingParameterError.new("Parameter missing: path") if params[:path].nil?
142
142
  raise MissingParameterError.new("Parameter missing: token") if params[:token].nil?
143
143
 
144
- Api.send_request("/locks/#{@attributes[:path]}", :delete, params, @options)
144
+ response, options = Api.send_request("/locks/#{@attributes[:path]}", :delete, params, @options)
145
+ @options = @options.merge(options)
146
+ [ response, options ]
145
147
  end
146
148
 
147
149
  # Alias for #delete. Returns nil.
@@ -153,6 +155,7 @@ module Files
153
155
  def save
154
156
  new_obj = Lock.create(path, @attributes, @options)
155
157
  @attributes = new_obj.attributes
158
+ @options = @options.merge(new_obj.options)
156
159
  true
157
160
  end
158
161
 
@@ -167,15 +170,19 @@ module Files
167
170
  #
168
171
  # Returns a Files::List of Files::Lock objects.
169
172
  def self.list_for(path, params = {}, options = {})
170
- params ||= {}
173
+ params = (params || {}).dup
171
174
  params[:path] = path
172
175
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
173
176
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
174
177
  raise InvalidParameterError.new("Bad parameter: path must be an String") if !params[:path].nil? and !params[:path].is_a?(String)
178
+ raise InvalidParameterError.new("Bad parameter: include_children must be a single value, not #{params[:include_children].class}") if [ Array, Hash ].any? { |klass| params[:include_children].is_a?(klass) }
175
179
  raise MissingParameterError.new("Parameter missing: path") if params[:path].nil?
176
180
 
181
+ list_options = options.dup
177
182
  List.new(Lock, params) do |page_params, &check_page|
178
- Api.send_request("/locks/#{page_params[:path]}", :get, page_params, options, &check_page)
183
+ response, page_options = Api.send_request("/locks/#{page_params[:path]}", :get, page_params, list_options, &check_page)
184
+ list_options = list_options.merge(page_options)
185
+ [ response, page_options ]
179
186
  end
180
187
  end
181
188
 
@@ -194,11 +201,14 @@ module Files
194
201
  #
195
202
  # Returns a Files::Lock.
196
203
  def self.create(path, params = {}, options = {})
197
- params ||= {}
204
+ params = (params || {}).dup
198
205
  params[:path] = path
199
206
  raise InvalidParameterError.new("Bad parameter: path must be an String") if !params[:path].nil? and !params[:path].is_a?(String)
200
207
  raise InvalidParameterError.new("Bad parameter: token must be an String") if !params[:token].nil? and !params[:token].is_a?(String)
201
208
  raise InvalidParameterError.new("Bad parameter: expected_token must be an String") if !params[:expected_token].nil? and !params[:expected_token].is_a?(String)
209
+ raise InvalidParameterError.new("Bad parameter: allow_access_by_any_user must be a single value, not #{params[:allow_access_by_any_user].class}") if [ Array, Hash ].any? { |klass| params[:allow_access_by_any_user].is_a?(klass) }
210
+ raise InvalidParameterError.new("Bad parameter: exclusive must be a single value, not #{params[:exclusive].class}") if [ Array, Hash ].any? { |klass| params[:exclusive].is_a?(klass) }
211
+ raise InvalidParameterError.new("Bad parameter: recursive must be a single value, not #{params[:recursive].class}") if [ Array, Hash ].any? { |klass| params[:recursive].is_a?(klass) }
202
212
  raise InvalidParameterError.new("Bad parameter: owner must be an String") if !params[:owner].nil? and !params[:owner].is_a?(String)
203
213
  raise InvalidParameterError.new("Bad parameter: timeout must be an Integer") if !params[:timeout].nil? and !params[:timeout].is_a?(Integer)
204
214
  raise MissingParameterError.new("Parameter missing: path") if params[:path].nil?
@@ -215,7 +225,7 @@ module Files
215
225
  #
216
226
  # Returns nil.
217
227
  def self.delete(path, params = {}, options = {})
218
- params ||= {}
228
+ params = (params || {}).dup
219
229
  params[:path] = path
220
230
  raise InvalidParameterError.new("Bad parameter: path must be an String") if !params[:path].nil? and !params[:path].is_a?(String)
221
231
  raise InvalidParameterError.new("Bad parameter: token must be an String") if !params[:token].nil? and !params[:token].is_a?(String)
@@ -51,7 +51,7 @@ module Files
51
51
  # name - string - Name of the metadata category.
52
52
  # default_columns - array(string) - Metadata keys that should appear as columns in the UI by default.
53
53
  def update(params = {})
54
- params ||= {}
54
+ params = (params || {}).dup
55
55
  params[:id] = @attributes[:id]
56
56
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
57
57
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
@@ -61,18 +61,21 @@ module Files
61
61
 
62
62
  response, options = Api.send_request("/metadata_categories/#{@attributes[:id]}", :patch, params, @options) { |reply| reply.require_object("MetadataCategory") }
63
63
  @attributes = response.data
64
+ @options = @options.merge(options)
64
65
  [ response, options ]
65
66
  end
66
67
 
67
68
  # Returns the [response, options] pair from Files::Api.send_request.
68
69
  def delete(params = {})
69
- params ||= {}
70
+ params = (params || {}).dup
70
71
  params[:id] = @attributes[:id]
71
72
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
72
73
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
73
74
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
74
75
 
75
- Api.send_request("/metadata_categories/#{@attributes[:id]}", :delete, params, @options)
76
+ response, options = Api.send_request("/metadata_categories/#{@attributes[:id]}", :delete, params, @options)
77
+ @options = @options.merge(options)
78
+ [ response, options ]
76
79
  end
77
80
 
78
81
  # Alias for #delete. Returns nil.
@@ -87,6 +90,7 @@ module Files
87
90
  else
88
91
  new_obj = MetadataCategory.create(@attributes, @options)
89
92
  @attributes = new_obj.attributes
93
+ @options = @options.merge(new_obj.options)
90
94
  end
91
95
 
92
96
  true
@@ -106,8 +110,11 @@ module Files
106
110
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
107
111
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if !params[:sort_by].nil? and !params[:sort_by].is_a?(Hash)
108
112
 
113
+ list_options = options.dup
109
114
  List.new(MetadataCategory, params) do |page_params, &check_page|
110
- Api.send_request("/metadata_categories", :get, page_params, options, &check_page)
115
+ response, page_options = Api.send_request("/metadata_categories", :get, page_params, list_options, &check_page)
116
+ list_options = list_options.merge(page_options)
117
+ [ response, page_options ]
111
118
  end
112
119
  end
113
120
 
@@ -123,7 +130,7 @@ module Files
123
130
  #
124
131
  # Returns a Files::MetadataCategory.
125
132
  def self.find(id, params = {}, options = {})
126
- params ||= {}
133
+ params = (params || {}).dup
127
134
  params[:id] = id
128
135
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
129
136
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?
@@ -146,15 +153,18 @@ module Files
146
153
  #
147
154
  # Returns a Files::List of Files::MetadataCategory objects.
148
155
  def self.list_for(path, params = {}, options = {})
149
- params ||= {}
156
+ params = (params || {}).dup
150
157
  params[:path] = path
151
158
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if !params[:cursor].nil? and !params[:cursor].is_a?(String)
152
159
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if !params[:per_page].nil? and !params[:per_page].is_a?(Integer)
153
160
  raise InvalidParameterError.new("Bad parameter: path must be an String") if !params[:path].nil? and !params[:path].is_a?(String)
154
161
  raise MissingParameterError.new("Parameter missing: path") if params[:path].nil?
155
162
 
163
+ list_options = options.dup
156
164
  List.new(MetadataCategory, params) do |page_params, &check_page|
157
- Api.send_request("/metadata_categories/list_by_path/#{page_params[:path]}", :get, page_params, options, &check_page)
165
+ response, page_options = Api.send_request("/metadata_categories/list_by_path/#{page_params[:path]}", :get, page_params, list_options, &check_page)
166
+ list_options = list_options.merge(page_options)
167
+ [ response, page_options ]
158
168
  end
159
169
  end
160
170
 
@@ -184,7 +194,7 @@ module Files
184
194
  #
185
195
  # Returns a Files::MetadataCategory.
186
196
  def self.update(id, params = {}, options = {})
187
- params ||= {}
197
+ params = (params || {}).dup
188
198
  params[:id] = id
189
199
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
190
200
  raise InvalidParameterError.new("Bad parameter: name must be an String") if !params[:name].nil? and !params[:name].is_a?(String)
@@ -200,7 +210,7 @@ module Files
200
210
  #
201
211
  # Returns nil.
202
212
  def self.delete(id, params = {}, options = {})
203
- params ||= {}
213
+ params = (params || {}).dup
204
214
  params[:id] = id
205
215
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if !params[:id].nil? and !params[:id].is_a?(Integer)
206
216
  raise MissingParameterError.new("Parameter missing: id") if params[:id].nil?