Class: Files::ScheduledExport

Inherits:
Object
  • Object
show all
Defined in:
lib/files.com/models/scheduled_export.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}, options = {}) ⇒ ScheduledExport

Returns a new instance of ScheduledExport.



7
8
9
10
# File 'lib/files.com/models/scheduled_export.rb', line 7

def initialize(attributes = {}, options = {})
  @attributes = attributes || {}
  @options = options || {}
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



5
6
7
# File 'lib/files.com/models/scheduled_export.rb', line 5

def attributes
  @attributes
end

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/files.com/models/scheduled_export.rb', line 5

def options
  @options
end

Class Method Details

.all(params = {}, options = {}) ⇒ Object



274
275
276
# File 'lib/files.com/models/scheduled_export.rb', line 274

def self.all(params = {}, options = {})
  list(params, options)
end

.create(params = {}, options = {}) ⇒ Object

Parameters:

name (required) - string - Name for this scheduled export.
export_type (required) - string - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
export_options - object - Report-specific options. `permission_audit` supports `group_by` with `user` or `path`.
user_id - int64 - Site Admin user who receives the completed export e-mail.
disabled - boolean - If true, this scheduled export will not run.
trigger - string - Schedule trigger type: `daily` or `custom_schedule`.
interval - string - If trigger is `daily`, this specifies how often to run the scheduled export.
recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
recurring_days - array(int64) - If trigger is `daily`, this selects one or more day numbers inside a `week`, `month`, `quarter`, or `year` interval.
schedule_id - int64 - If trigger is `custom_schedule`, the reusable Schedule used instead of the scheduled export's schedule fields.
schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
schedule_times_of_day - array(string) - Times of day in HH:MM format for the scheduled export schedule.
schedule_time_zone - string - Time zone used by the scheduled export schedule.
holiday_region - string - Optional holiday region used by the scheduled export schedule.


309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
# File 'lib/files.com/models/scheduled_export.rb', line 309

def self.create(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: export_type must be an String") if params[:export_type] and !params[:export_type].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: export_options must be an Hash") if params[:export_options] and !params[:export_options].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params[:user_id] and !params[:user_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: interval must be an String") if params[:interval] and !params[:interval].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: recurring_day must be an Integer") if params[:recurring_day] and !params[:recurring_day].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: recurring_days must be an Array") if params[:recurring_days] and !params[:recurring_days].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_id must be an Integer") if params[:schedule_id] and !params[:schedule_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: schedule_days_of_week must be an Array") if params[:schedule_days_of_week] and !params[:schedule_days_of_week].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_times_of_day must be an Array") if params[:schedule_times_of_day] and !params[:schedule_times_of_day].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_time_zone must be an String") if params[:schedule_time_zone] and !params[:schedule_time_zone].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
  raise MissingParameterError.new("Parameter missing: name") unless params[:name]
  raise MissingParameterError.new("Parameter missing: export_type") unless params[:export_type]

  response, options = Api.send_request("/scheduled_exports", :post, params, options)
  ScheduledExport.new(response.data, options)
end

.delete(id, params = {}, options = {}) ⇒ Object



368
369
370
371
372
373
374
375
376
# File 'lib/files.com/models/scheduled_export.rb', line 368

def self.delete(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/scheduled_exports/#{params[:id]}", :delete, params, options)
  nil
end

.destroy(id, params = {}, options = {}) ⇒ Object



378
379
380
381
# File 'lib/files.com/models/scheduled_export.rb', line 378

def self.destroy(id, params = {}, options = {})
  delete(id, params, options)
  nil
end

.find(id, params = {}, options = {}) ⇒ Object

Parameters:

id (required) - int64 - Scheduled Export ID.


280
281
282
283
284
285
286
287
288
# File 'lib/files.com/models/scheduled_export.rb', line 280

def self.find(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/scheduled_exports/#{params[:id]}", :get, params, options)
  ScheduledExport.new(response.data, options)
end

.get(id, params = {}, options = {}) ⇒ Object



290
291
292
# File 'lib/files.com/models/scheduled_export.rb', line 290

def self.get(id, params = {}, options = {})
  find(id, params, options)
end

.list(params = {}, options = {}) ⇒ Object

Parameters:

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.
per_page - int64 - Number of records to show per page.  (Max: 10000, 1,000 or less is recommended).
sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `name`, `export_type` or `disabled`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled` and `export_type`.
filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `export_type`.


262
263
264
265
266
267
268
269
270
271
272
# File 'lib/files.com/models/scheduled_export.rb', line 262

def self.list(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params[:cursor] and !params[:cursor].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params[:per_page] and !params[:per_page].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params[:sort_by] and !params[:sort_by].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params[:filter] and !params[:filter].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: filter_prefix must be an Hash") if params[:filter_prefix] and !params[:filter_prefix].is_a?(Hash)

  List.new(ScheduledExport, params) do
    Api.send_request("/scheduled_exports", :get, params, options)
  end
end

.update(id, params = {}, options = {}) ⇒ Object

Parameters:

name - string - Name for this scheduled export.
export_type - string - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
export_options - object - Report-specific options. `permission_audit` supports `group_by` with `user` or `path`.
user_id - int64 - Site Admin user who receives the completed export e-mail.
disabled - boolean - If true, this scheduled export will not run.
trigger - string - Schedule trigger type: `daily` or `custom_schedule`.
interval - string - If trigger is `daily`, this specifies how often to run the scheduled export.
recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
recurring_days - array(int64) - If trigger is `daily`, this selects one or more day numbers inside a `week`, `month`, `quarter`, or `year` interval.
schedule_id - int64 - If trigger is `custom_schedule`, the reusable Schedule used instead of the scheduled export's schedule fields.
schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
schedule_times_of_day - array(string) - Times of day in HH:MM format for the scheduled export schedule.
schedule_time_zone - string - Time zone used by the scheduled export schedule.
holiday_region - string - Optional holiday region used by the scheduled export schedule.


345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
# File 'lib/files.com/models/scheduled_export.rb', line 345

def self.update(id, params = {}, options = {})
  params ||= {}
  params[:id] = id
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: export_type must be an String") if params[:export_type] and !params[:export_type].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: export_options must be an Hash") if params[:export_options] and !params[:export_options].is_a?(Hash)
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params[:user_id] and !params[:user_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: interval must be an String") if params[:interval] and !params[:interval].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: recurring_day must be an Integer") if params[:recurring_day] and !params[:recurring_day].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: recurring_days must be an Array") if params[:recurring_days] and !params[:recurring_days].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_id must be an Integer") if params[:schedule_id] and !params[:schedule_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: schedule_days_of_week must be an Array") if params[:schedule_days_of_week] and !params[:schedule_days_of_week].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_times_of_day must be an Array") if params[:schedule_times_of_day] and !params[:schedule_times_of_day].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_time_zone must be an String") if params[:schedule_time_zone] and !params[:schedule_time_zone].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  response, options = Api.send_request("/scheduled_exports/#{params[:id]}", :patch, params, options)
  ScheduledExport.new(response.data, options)
end

Instance Method Details

#created_atObject

date-time - Creation time.



184
185
186
# File 'lib/files.com/models/scheduled_export.rb', line 184

def created_at
  @attributes[:created_at]
end

#delete(params = {}) ⇒ Object



230
231
232
233
234
235
236
237
238
# File 'lib/files.com/models/scheduled_export.rb', line 230

def delete(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/scheduled_exports/#{@attributes[:id]}", :delete, params, @options)
end

#destroy(params = {}) ⇒ Object



240
241
242
243
# File 'lib/files.com/models/scheduled_export.rb', line 240

def destroy(params = {})
  delete(params)
  nil
end

#disabledObject

boolean - If true, this scheduled export will not run.



67
68
69
# File 'lib/files.com/models/scheduled_export.rb', line 67

def disabled
  @attributes[:disabled]
end

#disabled=(value) ⇒ Object



71
72
73
# File 'lib/files.com/models/scheduled_export.rb', line 71

def disabled=(value)
  @attributes[:disabled] = value
end

#export_optionsObject

object - Report-specific options. permission_audit supports group_by with user or path.



49
50
51
# File 'lib/files.com/models/scheduled_export.rb', line 49

def export_options
  @attributes[:export_options]
end

#export_options=(value) ⇒ Object



53
54
55
# File 'lib/files.com/models/scheduled_export.rb', line 53

def export_options=(value)
  @attributes[:export_options] = value
end

#export_typeObject

string - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit



31
32
33
# File 'lib/files.com/models/scheduled_export.rb', line 31

def export_type
  @attributes[:export_type]
end

#export_type=(value) ⇒ Object



35
36
37
# File 'lib/files.com/models/scheduled_export.rb', line 35

def export_type=(value)
  @attributes[:export_type] = value
end

#holiday_regionObject

string - Optional holiday region used by the scheduled export schedule.



148
149
150
# File 'lib/files.com/models/scheduled_export.rb', line 148

def holiday_region
  @attributes[:holiday_region]
end

#holiday_region=(value) ⇒ Object



152
153
154
# File 'lib/files.com/models/scheduled_export.rb', line 152

def holiday_region=(value)
  @attributes[:holiday_region] = value
end

#human_readable_scheduleObject

string - Human-readable schedule description.



157
158
159
# File 'lib/files.com/models/scheduled_export.rb', line 157

def human_readable_schedule
  @attributes[:human_readable_schedule]
end

#human_readable_schedule=(value) ⇒ Object



161
162
163
# File 'lib/files.com/models/scheduled_export.rb', line 161

def human_readable_schedule=(value)
  @attributes[:human_readable_schedule] = value
end

#idObject

int64 - Scheduled Export ID



13
14
15
# File 'lib/files.com/models/scheduled_export.rb', line 13

def id
  @attributes[:id]
end

#id=(value) ⇒ Object



17
18
19
# File 'lib/files.com/models/scheduled_export.rb', line 17

def id=(value)
  @attributes[:id] = value
end

#intervalObject

string - If trigger is daily, this specifies how often to run the scheduled export.



85
86
87
# File 'lib/files.com/models/scheduled_export.rb', line 85

def interval
  @attributes[:interval]
end

#interval=(value) ⇒ Object



89
90
91
# File 'lib/files.com/models/scheduled_export.rb', line 89

def interval=(value)
  @attributes[:interval] = value
end

#last_export_idObject

int64 - Most recent Export ID created by this schedule.



175
176
177
# File 'lib/files.com/models/scheduled_export.rb', line 175

def last_export_id
  @attributes[:last_export_id]
end

#last_export_id=(value) ⇒ Object



179
180
181
# File 'lib/files.com/models/scheduled_export.rb', line 179

def last_export_id=(value)
  @attributes[:last_export_id] = value
end

#last_run_atObject

date-time - Most recent scheduled run time.



166
167
168
# File 'lib/files.com/models/scheduled_export.rb', line 166

def last_run_at
  @attributes[:last_run_at]
end

#last_run_at=(value) ⇒ Object



170
171
172
# File 'lib/files.com/models/scheduled_export.rb', line 170

def last_run_at=(value)
  @attributes[:last_run_at] = value
end

#nameObject

string - Name for this scheduled export.



22
23
24
# File 'lib/files.com/models/scheduled_export.rb', line 22

def name
  @attributes[:name]
end

#name=(value) ⇒ Object



26
27
28
# File 'lib/files.com/models/scheduled_export.rb', line 26

def name=(value)
  @attributes[:name] = value
end

#recurring_dayObject

int64 - If trigger is daily, this selects the day number inside the chosen interval.



94
95
96
# File 'lib/files.com/models/scheduled_export.rb', line 94

def recurring_day
  @attributes[:recurring_day]
end

#recurring_day=(value) ⇒ Object



98
99
100
# File 'lib/files.com/models/scheduled_export.rb', line 98

def recurring_day=(value)
  @attributes[:recurring_day] = value
end

#recurring_daysObject

array(int64) - If trigger is daily, this selects one or more day numbers inside a week, month, quarter, or year interval.



103
104
105
# File 'lib/files.com/models/scheduled_export.rb', line 103

def recurring_days
  @attributes[:recurring_days]
end

#recurring_days=(value) ⇒ Object



107
108
109
# File 'lib/files.com/models/scheduled_export.rb', line 107

def recurring_days=(value)
  @attributes[:recurring_days] = value
end

#report_nameObject

string - Human-readable report name.



40
41
42
# File 'lib/files.com/models/scheduled_export.rb', line 40

def report_name
  @attributes[:report_name]
end

#report_name=(value) ⇒ Object



44
45
46
# File 'lib/files.com/models/scheduled_export.rb', line 44

def report_name=(value)
  @attributes[:report_name] = value
end

#saveObject



245
246
247
248
249
250
251
252
253
254
# File 'lib/files.com/models/scheduled_export.rb', line 245

def save
  if @attributes[:id]
    new_obj = update(@attributes)
  else
    new_obj = ScheduledExport.create(@attributes, @options)
  end

  @attributes = new_obj.attributes
  true
end

#schedule_days_of_weekObject

array(int64) - If trigger is custom_schedule, the 0-based weekdays used by the schedule.



121
122
123
# File 'lib/files.com/models/scheduled_export.rb', line 121

def schedule_days_of_week
  @attributes[:schedule_days_of_week]
end

#schedule_days_of_week=(value) ⇒ Object



125
126
127
# File 'lib/files.com/models/scheduled_export.rb', line 125

def schedule_days_of_week=(value)
  @attributes[:schedule_days_of_week] = value
end

#schedule_idObject

int64 - If trigger is custom_schedule, the reusable Schedule used instead of the scheduled export's schedule fields.



112
113
114
# File 'lib/files.com/models/scheduled_export.rb', line 112

def schedule_id
  @attributes[:schedule_id]
end

#schedule_id=(value) ⇒ Object



116
117
118
# File 'lib/files.com/models/scheduled_export.rb', line 116

def schedule_id=(value)
  @attributes[:schedule_id] = value
end

#schedule_time_zoneObject

string - Time zone used by the scheduled export schedule.



139
140
141
# File 'lib/files.com/models/scheduled_export.rb', line 139

def schedule_time_zone
  @attributes[:schedule_time_zone]
end

#schedule_time_zone=(value) ⇒ Object



143
144
145
# File 'lib/files.com/models/scheduled_export.rb', line 143

def schedule_time_zone=(value)
  @attributes[:schedule_time_zone] = value
end

#schedule_times_of_dayObject

array(string) - Times of day in HH:MM format for the scheduled export schedule.



130
131
132
# File 'lib/files.com/models/scheduled_export.rb', line 130

def schedule_times_of_day
  @attributes[:schedule_times_of_day]
end

#schedule_times_of_day=(value) ⇒ Object



134
135
136
# File 'lib/files.com/models/scheduled_export.rb', line 134

def schedule_times_of_day=(value)
  @attributes[:schedule_times_of_day] = value
end

#triggerObject

string - Schedule trigger type: daily or custom_schedule.



76
77
78
# File 'lib/files.com/models/scheduled_export.rb', line 76

def trigger
  @attributes[:trigger]
end

#trigger=(value) ⇒ Object



80
81
82
# File 'lib/files.com/models/scheduled_export.rb', line 80

def trigger=(value)
  @attributes[:trigger] = value
end

#update(params = {}) ⇒ Object

Parameters:

name - string - Name for this scheduled export.
export_type - string - Export report type. Valid values: folder_size_audit, group_membership_audit, permission_audit, share_link_audit
export_options - object - Report-specific options. `permission_audit` supports `group_by` with `user` or `path`.
user_id - int64 - Site Admin user who receives the completed export e-mail.
disabled - boolean - If true, this scheduled export will not run.
trigger - string - Schedule trigger type: `daily` or `custom_schedule`.
interval - string - If trigger is `daily`, this specifies how often to run the scheduled export.
recurring_day - int64 - If trigger is `daily`, this selects the day number inside the chosen interval.
recurring_days - array(int64) - If trigger is `daily`, this selects one or more day numbers inside a `week`, `month`, `quarter`, or `year` interval.
schedule_id - int64 - If trigger is `custom_schedule`, the reusable Schedule used instead of the scheduled export's schedule fields.
schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, the 0-based weekdays used by the schedule.
schedule_times_of_day - array(string) - Times of day in HH:MM format for the scheduled export schedule.
schedule_time_zone - string - Time zone used by the scheduled export schedule.
holiday_region - string - Optional holiday region used by the scheduled export schedule.


208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/files.com/models/scheduled_export.rb', line 208

def update(params = {})
  params ||= {}
  params[:id] = @attributes[:id]
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params[:id] and !params[:id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: export_type must be an String") if params[:export_type] and !params[:export_type].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params[:user_id] and !params[:user_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: interval must be an String") if params[:interval] and !params[:interval].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: recurring_day must be an Integer") if params[:recurring_day] and !params[:recurring_day].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: recurring_days must be an Array") if params[:recurring_days] and !params[:recurring_days].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_id must be an Integer") if params[:schedule_id] and !params[:schedule_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: schedule_days_of_week must be an Array") if params[:schedule_days_of_week] and !params[:schedule_days_of_week].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_times_of_day must be an Array") if params[:schedule_times_of_day] and !params[:schedule_times_of_day].is_a?(Array)
  raise InvalidParameterError.new("Bad parameter: schedule_time_zone must be an String") if params[:schedule_time_zone] and !params[:schedule_time_zone].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: holiday_region must be an String") if params[:holiday_region] and !params[:holiday_region].is_a?(String)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

  Api.send_request("/scheduled_exports/#{@attributes[:id]}", :patch, params, @options)
end

#updated_atObject

date-time - Last update time.



189
190
191
# File 'lib/files.com/models/scheduled_export.rb', line 189

def updated_at
  @attributes[:updated_at]
end

#user_idObject

int64 - Site Admin user who receives the completed export e-mail.



58
59
60
# File 'lib/files.com/models/scheduled_export.rb', line 58

def user_id
  @attributes[:user_id]
end

#user_id=(value) ⇒ Object



62
63
64
# File 'lib/files.com/models/scheduled_export.rb', line 62

def user_id=(value)
  @attributes[:user_id] = value
end