Class: Files::Automation
- Inherits:
-
Object
- Object
- Files::Automation
- Defined in:
- lib/files.com/models/automation.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Class Method Summary collapse
- .all(params = {}, options = {}) ⇒ Object
-
.create(params = {}, options = {}) ⇒ Object
Parameters: source - string - Source Path destination - string - DEPRECATED: Destination Path.
- .delete(id, params = {}, options = {}) ⇒ Object
- .destroy(id, params = {}, options = {}) ⇒ Object
-
.find(id, params = {}, options = {}) ⇒ Object
Parameters: id (required) - int64 - Automation ID.
- .get(id, params = {}, options = {}) ⇒ Object
-
.list(params = {}, options = {}) ⇒ Object
Parameters: cursor - string - Used for pagination.
-
.manual_run(id, params = {}, options = {}) ⇒ Object
Manually run automation.
-
.update(id, params = {}, options = {}) ⇒ Object
Parameters: source - string - Source Path destination - string - DEPRECATED: Destination Path.
Instance Method Summary collapse
-
#always_overwrite_size_matching_files ⇒ Object
boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer.
- #always_overwrite_size_matching_files=(value) ⇒ Object
-
#automation ⇒ Object
string - Automation type.
- #automation=(value) ⇒ Object
- #delete(params = {}) ⇒ Object
-
#deleted ⇒ Object
boolean - Indicates if the automation has been deleted.
- #deleted=(value) ⇒ Object
-
#description ⇒ Object
string - Description for the this Automation.
- #description=(value) ⇒ Object
-
#destination ⇒ Object
string - DEPRECATED: Destination Path.
- #destination=(value) ⇒ Object
-
#destination_replace_from ⇒ Object
string - If set, this string in the destination path will be replaced with the value in ‘destination_replace_to`.
- #destination_replace_from=(value) ⇒ Object
-
#destination_replace_to ⇒ Object
string - If set, this string will replace the value ‘destination_replace_from` in the destination filename.
- #destination_replace_to=(value) ⇒ Object
-
#destinations ⇒ Object
array - Destination Paths.
- #destinations=(value) ⇒ Object
- #destroy(params = {}) ⇒ Object
-
#disabled ⇒ Object
boolean - If true, this automation will not run.
- #disabled=(value) ⇒ Object
-
#group_ids ⇒ Object
array - IDs of Groups for the Automation (i.e. who to Request File from).
- #group_ids=(value) ⇒ Object
-
#human_readable_schedule ⇒ Object
string - If trigger is ‘custom_schedule`, Human readable Custom schedule description for when the automation should be run.
- #human_readable_schedule=(value) ⇒ Object
-
#id ⇒ Object
int64 - Automation ID.
- #id=(value) ⇒ Object
-
#initialize(attributes = {}, options = {}) ⇒ Automation
constructor
A new instance of Automation.
-
#interval ⇒ Object
string - If trigger is ‘daily`, this specifies how often to run this automation.
- #interval=(value) ⇒ Object
-
#last_modified_at ⇒ Object
date-time - Time when automation was last modified.
- #last_modified_at=(value) ⇒ Object
-
#manual_run(params = {}) ⇒ Object
Manually run automation.
-
#name ⇒ Object
string - Name for this automation.
- #name=(value) ⇒ Object
-
#path ⇒ Object
string - Path on which this Automation runs.
- #path=(value) ⇒ Object
-
#recurring_day ⇒ Object
int64 - If trigger type is ‘daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
- #recurring_day=(value) ⇒ Object
- #save ⇒ Object
-
#schedule ⇒ Object
object - If trigger is ‘custom_schedule`, Custom schedule description for when the automation should be run in json format.
- #schedule=(value) ⇒ Object
-
#schedule_days_of_week ⇒ Object
array - If trigger is ‘custom_schedule`, Custom schedule description for when the automation should be run.
- #schedule_days_of_week=(value) ⇒ Object
-
#schedule_time_zone ⇒ Object
string - If trigger is ‘custom_schedule`, Custom schedule Time Zone for when the automation should be run.
- #schedule_time_zone=(value) ⇒ Object
-
#schedule_times_of_day ⇒ Object
array - If trigger is ‘custom_schedule`, Custom schedule description for when the automation should be run.
- #schedule_times_of_day=(value) ⇒ Object
-
#source ⇒ Object
string - Source Path.
- #source=(value) ⇒ Object
-
#sync_ids ⇒ Object
array - IDs of remote sync folder behaviors to run by this Automation.
- #sync_ids=(value) ⇒ Object
-
#trigger ⇒ Object
string - How this automation is triggered to run.
- #trigger=(value) ⇒ Object
-
#trigger_actions ⇒ Object
array - If trigger is ‘action`, this is the list of action types on which to trigger the automation.
- #trigger_actions=(value) ⇒ Object
-
#update(params = {}) ⇒ Object
Parameters: source - string - Source Path destination - string - DEPRECATED: Destination Path.
-
#user_id ⇒ Object
int64 - User ID of the Automation’s creator.
- #user_id=(value) ⇒ Object
-
#user_ids ⇒ Object
array - IDs of Users for the Automation (i.e. who to Request File from).
- #user_ids=(value) ⇒ Object
-
#value ⇒ Object
object - A Hash of attributes specific to the automation type.
- #value=(value) ⇒ Object
-
#webhook_url ⇒ Object
string - If trigger is ‘webhook`, this is the URL of the webhook to trigger the Automation.
- #webhook_url=(value) ⇒ Object
Constructor Details
#initialize(attributes = {}, options = {}) ⇒ Automation
Returns a new instance of Automation.
7 8 9 10 |
# File 'lib/files.com/models/automation.rb', line 7 def initialize(attributes = {}, = {}) @attributes = attributes || {} @options = || {} end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
5 6 7 |
# File 'lib/files.com/models/automation.rb', line 5 def attributes @attributes end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
5 6 7 |
# File 'lib/files.com/models/automation.rb', line 5 def @options end |
Class Method Details
.all(params = {}, options = {}) ⇒ Object
387 388 389 |
# File 'lib/files.com/models/automation.rb', line 387 def self.all(params = {}, = {}) list(params, ) end |
.create(params = {}, options = {}) ⇒ Object
Parameters:
source - string - Source Path
destination - string - DEPRECATED: Destination Path. Use `destinations` instead.
destinations - array(string) - A list of String destination paths or Hash of folder_path and optional file_path.
destination_replace_from - string - If set, this string in the destination path will be replaced with the value in `destination_replace_to`.
destination_replace_to - string - If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here.
interval - string - How often to run this automation? One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`
path - string - Path on which this Automation runs. Supports globs.
sync_ids - string - A list of sync IDs the automation is associated with. If sent as a string, it should be comma-delimited.
user_ids - string - A list of user IDs the automation is associated with. If sent as a string, it should be comma-delimited.
group_ids - string - A list of group IDs the automation is associated with. If sent as a string, it should be comma-delimited.
schedule_days_of_week - array(int64) - If trigger is `custom_schedule`. A list of days of the week to run this automation. 0 is Sunday, 1 is Monday, etc.
schedule_times_of_day - array(string) - If trigger is `custom_schedule`. A list of times of day to run this automation. 24-hour time format.
schedule_time_zone - string - If trigger is `custom_schedule`. Time zone for the schedule.
always_overwrite_size_matching_files - boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer. If this flag is `true` we will overwrite the destination file always. Note that this may cause large amounts of wasted transfer usage.
description - string - Description for the this Automation.
disabled - boolean - If true, this automation will not run.
name - string - Name for this automation.
trigger - string - How this automation is triggered to run.
trigger_actions - array(string) - If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
value - object - A Hash of attributes specific to the automation type.
recurring_day - int64 - If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
automation (required) - string - Automation type
430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 |
# File 'lib/files.com/models/automation.rb', line 430 def self.create(params = {}, = {}) raise InvalidParameterError.new("Bad parameter: source must be an String") if params[:source] and !params[:source].is_a?(String) raise InvalidParameterError.new("Bad parameter: destination must be an String") if params[:destination] and !params[:destination].is_a?(String) raise InvalidParameterError.new("Bad parameter: destinations must be an Array") if params[:destinations] and !params[:destinations].is_a?(Array) raise InvalidParameterError.new("Bad parameter: destination_replace_from must be an String") if params[:destination_replace_from] and !params[:destination_replace_from].is_a?(String) raise InvalidParameterError.new("Bad parameter: destination_replace_to must be an String") if params[:destination_replace_to] and !params[:destination_replace_to].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: path must be an String") if params[:path] and !params[:path].is_a?(String) raise InvalidParameterError.new("Bad parameter: sync_ids must be an String") if params[:sync_ids] and !params[:sync_ids].is_a?(String) raise InvalidParameterError.new("Bad parameter: user_ids must be an String") if params[:user_ids] and !params[:user_ids].is_a?(String) raise InvalidParameterError.new("Bad parameter: group_ids must be an String") if params[:group_ids] and !params[:group_ids].is_a?(String) 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: description must be an String") if params[:description] and !params[:description].is_a?(String) raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String) raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String) raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params[:trigger_actions] and !params[:trigger_actions].is_a?(Array) raise InvalidParameterError.new("Bad parameter: value must be an Hash") if params[:value] and !params[:value].is_a?(Hash) 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: automation must be an String") if params[:automation] and !params[:automation].is_a?(String) raise MissingParameterError.new("Parameter missing: automation") unless params[:automation] response, = Api.send_request("/automations", :post, params, ) Automation.new(response.data, ) end |
.delete(id, params = {}, options = {}) ⇒ Object
521 522 523 524 525 526 527 528 529 |
# File 'lib/files.com/models/automation.rb', line 521 def self.delete(id, params = {}, = {}) 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("/automations/#{params[:id]}", :delete, params, ) nil end |
.destroy(id, params = {}, options = {}) ⇒ Object
531 532 533 534 |
# File 'lib/files.com/models/automation.rb', line 531 def self.destroy(id, params = {}, = {}) delete(id, params, ) nil end |
.find(id, params = {}, options = {}) ⇒ Object
Parameters:
id (required) - int64 - Automation ID.
393 394 395 396 397 398 399 400 401 |
# File 'lib/files.com/models/automation.rb', line 393 def self.find(id, params = {}, = {}) 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, = Api.send_request("/automations/#{params[:id]}", :get, params, ) Automation.new(response.data, ) end |
.get(id, params = {}, options = {}) ⇒ Object
403 404 405 |
# File 'lib/files.com/models/automation.rb', line 403 def self.get(id, params = {}, = {}) find(id, params, ) 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: 10,000, 1,000 or less is recommended).
sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction (e.g. `sort_by[automation]=desc`). Valid fields are `automation`, `disabled`, `last_modified_at` or `name`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `last_modified_at` or `automation`. Valid field combinations are `[ automation, disabled ]` and `[ disabled, automation ]`.
filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `last_modified_at`.
filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `last_modified_at`.
filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `last_modified_at`.
filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `last_modified_at`.
with_deleted - boolean - Set to true to include deleted automations in the results.
372 373 374 375 376 377 378 379 380 381 382 383 384 385 |
# File 'lib/files.com/models/automation.rb', line 372 def self.list(params = {}, = {}) 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_gt must be an Hash") if params[:filter_gt] and !params[:filter_gt].is_a?(Hash) raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params[:filter_gteq] and !params[:filter_gteq].is_a?(Hash) raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params[:filter_lt] and !params[:filter_lt].is_a?(Hash) raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params[:filter_lteq] and !params[:filter_lteq].is_a?(Hash) List.new(Automation, params) do Api.send_request("/automations", :get, params, ) end end |
.manual_run(id, params = {}, options = {}) ⇒ Object
Manually run automation
458 459 460 461 462 463 464 465 466 |
# File 'lib/files.com/models/automation.rb', line 458 def self.manual_run(id, params = {}, = {}) 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("/automations/#{params[:id]}/manual_run", :post, params, ) nil end |
.update(id, params = {}, options = {}) ⇒ Object
Parameters:
source - string - Source Path
destination - string - DEPRECATED: Destination Path. Use `destinations` instead.
destinations - array(string) - A list of String destination paths or Hash of folder_path and optional file_path.
destination_replace_from - string - If set, this string in the destination path will be replaced with the value in `destination_replace_to`.
destination_replace_to - string - If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here.
interval - string - How often to run this automation? One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`
path - string - Path on which this Automation runs. Supports globs.
sync_ids - string - A list of sync IDs the automation is associated with. If sent as a string, it should be comma-delimited.
user_ids - string - A list of user IDs the automation is associated with. If sent as a string, it should be comma-delimited.
group_ids - string - A list of group IDs the automation is associated with. If sent as a string, it should be comma-delimited.
schedule_days_of_week - array(int64) - If trigger is `custom_schedule`. A list of days of the week to run this automation. 0 is Sunday, 1 is Monday, etc.
schedule_times_of_day - array(string) - If trigger is `custom_schedule`. A list of times of day to run this automation. 24-hour time format.
schedule_time_zone - string - If trigger is `custom_schedule`. Time zone for the schedule.
always_overwrite_size_matching_files - boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer. If this flag is `true` we will overwrite the destination file always. Note that this may cause large amounts of wasted transfer usage.
description - string - Description for the this Automation.
disabled - boolean - If true, this automation will not run.
name - string - Name for this automation.
trigger - string - How this automation is triggered to run.
trigger_actions - array(string) - If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
value - object - A Hash of attributes specific to the automation type.
recurring_day - int64 - If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
automation - string - Automation type
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 |
# File 'lib/files.com/models/automation.rb', line 491 def self.update(id, params = {}, = {}) 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: source must be an String") if params[:source] and !params[:source].is_a?(String) raise InvalidParameterError.new("Bad parameter: destination must be an String") if params[:destination] and !params[:destination].is_a?(String) raise InvalidParameterError.new("Bad parameter: destinations must be an Array") if params[:destinations] and !params[:destinations].is_a?(Array) raise InvalidParameterError.new("Bad parameter: destination_replace_from must be an String") if params[:destination_replace_from] and !params[:destination_replace_from].is_a?(String) raise InvalidParameterError.new("Bad parameter: destination_replace_to must be an String") if params[:destination_replace_to] and !params[:destination_replace_to].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: path must be an String") if params[:path] and !params[:path].is_a?(String) raise InvalidParameterError.new("Bad parameter: sync_ids must be an String") if params[:sync_ids] and !params[:sync_ids].is_a?(String) raise InvalidParameterError.new("Bad parameter: user_ids must be an String") if params[:user_ids] and !params[:user_ids].is_a?(String) raise InvalidParameterError.new("Bad parameter: group_ids must be an String") if params[:group_ids] and !params[:group_ids].is_a?(String) 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: description must be an String") if params[:description] and !params[:description].is_a?(String) raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String) raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String) raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params[:trigger_actions] and !params[:trigger_actions].is_a?(Array) raise InvalidParameterError.new("Bad parameter: value must be an Hash") if params[:value] and !params[:value].is_a?(Hash) 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: automation must be an String") if params[:automation] and !params[:automation].is_a?(String) raise MissingParameterError.new("Parameter missing: id") unless params[:id] response, = Api.send_request("/automations/#{params[:id]}", :patch, params, ) Automation.new(response.data, ) end |
Instance Method Details
#always_overwrite_size_matching_files ⇒ Object
boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer. If this flag is ‘true` we will overwrite the destination file always. Note that this may cause large amounts of wasted transfer usage.
22 23 24 |
# File 'lib/files.com/models/automation.rb', line 22 def always_overwrite_size_matching_files @attributes[:always_overwrite_size_matching_files] end |
#always_overwrite_size_matching_files=(value) ⇒ Object
26 27 28 |
# File 'lib/files.com/models/automation.rb', line 26 def always_overwrite_size_matching_files=(value) @attributes[:always_overwrite_size_matching_files] = value end |
#automation ⇒ Object
string - Automation type
31 32 33 |
# File 'lib/files.com/models/automation.rb', line 31 def automation @attributes[:automation] end |
#automation=(value) ⇒ Object
35 36 37 |
# File 'lib/files.com/models/automation.rb', line 35 def automation=(value) @attributes[:automation] = value end |
#delete(params = {}) ⇒ Object
336 337 338 339 340 341 342 343 344 |
# File 'lib/files.com/models/automation.rb', line 336 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("/automations/#{@attributes[:id]}", :delete, params, @options) end |
#deleted ⇒ Object
boolean - Indicates if the automation has been deleted.
40 41 42 |
# File 'lib/files.com/models/automation.rb', line 40 def deleted @attributes[:deleted] end |
#deleted=(value) ⇒ Object
44 45 46 |
# File 'lib/files.com/models/automation.rb', line 44 def deleted=(value) @attributes[:deleted] = value end |
#description ⇒ Object
string - Description for the this Automation.
49 50 51 |
# File 'lib/files.com/models/automation.rb', line 49 def description @attributes[:description] end |
#description=(value) ⇒ Object
53 54 55 |
# File 'lib/files.com/models/automation.rb', line 53 def description=(value) @attributes[:description] = value end |
#destination ⇒ Object
string - DEPRECATED: Destination Path. Use ‘destinations` instead.
265 266 267 |
# File 'lib/files.com/models/automation.rb', line 265 def destination @attributes[:destination] end |
#destination=(value) ⇒ Object
269 270 271 |
# File 'lib/files.com/models/automation.rb', line 269 def destination=(value) @attributes[:destination] = value end |
#destination_replace_from ⇒ Object
string - If set, this string in the destination path will be replaced with the value in ‘destination_replace_to`.
58 59 60 |
# File 'lib/files.com/models/automation.rb', line 58 def destination_replace_from @attributes[:destination_replace_from] end |
#destination_replace_from=(value) ⇒ Object
62 63 64 |
# File 'lib/files.com/models/automation.rb', line 62 def destination_replace_from=(value) @attributes[:destination_replace_from] = value end |
#destination_replace_to ⇒ Object
string - If set, this string will replace the value ‘destination_replace_from` in the destination filename. You can use special patterns here.
67 68 69 |
# File 'lib/files.com/models/automation.rb', line 67 def destination_replace_to @attributes[:destination_replace_to] end |
#destination_replace_to=(value) ⇒ Object
71 72 73 |
# File 'lib/files.com/models/automation.rb', line 71 def destination_replace_to=(value) @attributes[:destination_replace_to] = value end |
#destinations ⇒ Object
array - Destination Paths
76 77 78 |
# File 'lib/files.com/models/automation.rb', line 76 def destinations @attributes[:destinations] end |
#destinations=(value) ⇒ Object
80 81 82 |
# File 'lib/files.com/models/automation.rb', line 80 def destinations=(value) @attributes[:destinations] = value end |
#destroy(params = {}) ⇒ Object
346 347 348 349 |
# File 'lib/files.com/models/automation.rb', line 346 def destroy(params = {}) delete(params) nil end |
#disabled ⇒ Object
boolean - If true, this automation will not run.
85 86 87 |
# File 'lib/files.com/models/automation.rb', line 85 def disabled @attributes[:disabled] end |
#disabled=(value) ⇒ Object
89 90 91 |
# File 'lib/files.com/models/automation.rb', line 89 def disabled=(value) @attributes[:disabled] = value end |
#group_ids ⇒ Object
array - IDs of Groups for the Automation (i.e. who to Request File from)
94 95 96 |
# File 'lib/files.com/models/automation.rb', line 94 def group_ids @attributes[:group_ids] end |
#group_ids=(value) ⇒ Object
98 99 100 |
# File 'lib/files.com/models/automation.rb', line 98 def group_ids=(value) @attributes[:group_ids] = value end |
#human_readable_schedule ⇒ Object
string - If trigger is ‘custom_schedule`, Human readable Custom schedule description for when the automation should be run.
157 158 159 |
# File 'lib/files.com/models/automation.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/automation.rb', line 161 def human_readable_schedule=(value) @attributes[:human_readable_schedule] = value end |
#id ⇒ Object
int64 - Automation ID
13 14 15 |
# File 'lib/files.com/models/automation.rb', line 13 def id @attributes[:id] end |
#id=(value) ⇒ Object
17 18 19 |
# File 'lib/files.com/models/automation.rb', line 17 def id=(value) @attributes[:id] = value end |
#interval ⇒ Object
string - If trigger is ‘daily`, this specifies how often to run this automation. One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`
103 104 105 |
# File 'lib/files.com/models/automation.rb', line 103 def interval @attributes[:interval] end |
#interval=(value) ⇒ Object
107 108 109 |
# File 'lib/files.com/models/automation.rb', line 107 def interval=(value) @attributes[:interval] = value end |
#last_modified_at ⇒ Object
date-time - Time when automation was last modified. Does not change for name or description updates.
112 113 114 |
# File 'lib/files.com/models/automation.rb', line 112 def last_modified_at @attributes[:last_modified_at] end |
#last_modified_at=(value) ⇒ Object
116 117 118 |
# File 'lib/files.com/models/automation.rb', line 116 def last_modified_at=(value) @attributes[:last_modified_at] = value end |
#manual_run(params = {}) ⇒ Object
Manually run automation
274 275 276 277 278 279 280 281 282 |
# File 'lib/files.com/models/automation.rb', line 274 def manual_run(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("/automations/#{@attributes[:id]}/manual_run", :post, params, @options) end |
#name ⇒ Object
string - Name for this automation.
121 122 123 |
# File 'lib/files.com/models/automation.rb', line 121 def name @attributes[:name] end |
#name=(value) ⇒ Object
125 126 127 |
# File 'lib/files.com/models/automation.rb', line 125 def name=(value) @attributes[:name] = value end |
#path ⇒ Object
string - Path on which this Automation runs. Supports globs, except on remote mounts. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
130 131 132 |
# File 'lib/files.com/models/automation.rb', line 130 def path @attributes[:path] end |
#path=(value) ⇒ Object
134 135 136 |
# File 'lib/files.com/models/automation.rb', line 134 def path=(value) @attributes[:path] = value end |
#recurring_day ⇒ Object
int64 - If trigger type is ‘daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
139 140 141 |
# File 'lib/files.com/models/automation.rb', line 139 def recurring_day @attributes[:recurring_day] end |
#recurring_day=(value) ⇒ Object
143 144 145 |
# File 'lib/files.com/models/automation.rb', line 143 def recurring_day=(value) @attributes[:recurring_day] = value end |
#save ⇒ Object
351 352 353 354 355 356 357 358 359 360 |
# File 'lib/files.com/models/automation.rb', line 351 def save if @attributes[:id] new_obj = update(@attributes) else new_obj = Automation.create(@attributes, @options) end @attributes = new_obj.attributes true end |
#schedule ⇒ Object
object - If trigger is ‘custom_schedule`, Custom schedule description for when the automation should be run in json format.
148 149 150 |
# File 'lib/files.com/models/automation.rb', line 148 def schedule @attributes[:schedule] end |
#schedule=(value) ⇒ Object
152 153 154 |
# File 'lib/files.com/models/automation.rb', line 152 def schedule=(value) @attributes[:schedule] = value end |
#schedule_days_of_week ⇒ Object
array - If trigger is ‘custom_schedule`, Custom schedule description for when the automation should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
166 167 168 |
# File 'lib/files.com/models/automation.rb', line 166 def schedule_days_of_week @attributes[:schedule_days_of_week] end |
#schedule_days_of_week=(value) ⇒ Object
170 171 172 |
# File 'lib/files.com/models/automation.rb', line 170 def schedule_days_of_week=(value) @attributes[:schedule_days_of_week] = value end |
#schedule_time_zone ⇒ Object
string - If trigger is ‘custom_schedule`, Custom schedule Time Zone for when the automation should be run.
184 185 186 |
# File 'lib/files.com/models/automation.rb', line 184 def schedule_time_zone @attributes[:schedule_time_zone] end |
#schedule_time_zone=(value) ⇒ Object
188 189 190 |
# File 'lib/files.com/models/automation.rb', line 188 def schedule_time_zone=(value) @attributes[:schedule_time_zone] = value end |
#schedule_times_of_day ⇒ Object
array - If trigger is ‘custom_schedule`, Custom schedule description for when the automation should be run. Times of day in HH:MM format.
175 176 177 |
# File 'lib/files.com/models/automation.rb', line 175 def schedule_times_of_day @attributes[:schedule_times_of_day] end |
#schedule_times_of_day=(value) ⇒ Object
179 180 181 |
# File 'lib/files.com/models/automation.rb', line 179 def schedule_times_of_day=(value) @attributes[:schedule_times_of_day] = value end |
#source ⇒ Object
string - Source Path
193 194 195 |
# File 'lib/files.com/models/automation.rb', line 193 def source @attributes[:source] end |
#source=(value) ⇒ Object
197 198 199 |
# File 'lib/files.com/models/automation.rb', line 197 def source=(value) @attributes[:source] = value end |
#sync_ids ⇒ Object
array - IDs of remote sync folder behaviors to run by this Automation
202 203 204 |
# File 'lib/files.com/models/automation.rb', line 202 def sync_ids @attributes[:sync_ids] end |
#sync_ids=(value) ⇒ Object
206 207 208 |
# File 'lib/files.com/models/automation.rb', line 206 def sync_ids=(value) @attributes[:sync_ids] = value end |
#trigger ⇒ Object
string - How this automation is triggered to run.
220 221 222 |
# File 'lib/files.com/models/automation.rb', line 220 def trigger @attributes[:trigger] end |
#trigger=(value) ⇒ Object
224 225 226 |
# File 'lib/files.com/models/automation.rb', line 224 def trigger=(value) @attributes[:trigger] = value end |
#trigger_actions ⇒ Object
array - If trigger is ‘action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
211 212 213 |
# File 'lib/files.com/models/automation.rb', line 211 def trigger_actions @attributes[:trigger_actions] end |
#trigger_actions=(value) ⇒ Object
215 216 217 |
# File 'lib/files.com/models/automation.rb', line 215 def trigger_actions=(value) @attributes[:trigger_actions] = value end |
#update(params = {}) ⇒ Object
Parameters:
source - string - Source Path
destination - string - DEPRECATED: Destination Path. Use `destinations` instead.
destinations - array(string) - A list of String destination paths or Hash of folder_path and optional file_path.
destination_replace_from - string - If set, this string in the destination path will be replaced with the value in `destination_replace_to`.
destination_replace_to - string - If set, this string will replace the value `destination_replace_from` in the destination filename. You can use special patterns here.
interval - string - How often to run this automation? One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`
path - string - Path on which this Automation runs. Supports globs.
sync_ids - string - A list of sync IDs the automation is associated with. If sent as a string, it should be comma-delimited.
user_ids - string - A list of user IDs the automation is associated with. If sent as a string, it should be comma-delimited.
group_ids - string - A list of group IDs the automation is associated with. If sent as a string, it should be comma-delimited.
schedule_days_of_week - array(int64) - If trigger is `custom_schedule`. A list of days of the week to run this automation. 0 is Sunday, 1 is Monday, etc.
schedule_times_of_day - array(string) - If trigger is `custom_schedule`. A list of times of day to run this automation. 24-hour time format.
schedule_time_zone - string - If trigger is `custom_schedule`. Time zone for the schedule.
always_overwrite_size_matching_files - boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer. If this flag is `true` we will overwrite the destination file always. Note that this may cause large amounts of wasted transfer usage.
description - string - Description for the this Automation.
disabled - boolean - If true, this automation will not run.
name - string - Name for this automation.
trigger - string - How this automation is triggered to run.
trigger_actions - array(string) - If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
value - object - A Hash of attributes specific to the automation type.
recurring_day - int64 - If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
automation - string - Automation type
307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 |
# File 'lib/files.com/models/automation.rb', line 307 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: source must be an String") if params[:source] and !params[:source].is_a?(String) raise InvalidParameterError.new("Bad parameter: destination must be an String") if params[:destination] and !params[:destination].is_a?(String) raise InvalidParameterError.new("Bad parameter: destinations must be an Array") if params[:destinations] and !params[:destinations].is_a?(Array) raise InvalidParameterError.new("Bad parameter: destination_replace_from must be an String") if params[:destination_replace_from] and !params[:destination_replace_from].is_a?(String) raise InvalidParameterError.new("Bad parameter: destination_replace_to must be an String") if params[:destination_replace_to] and !params[:destination_replace_to].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: path must be an String") if params[:path] and !params[:path].is_a?(String) raise InvalidParameterError.new("Bad parameter: sync_ids must be an String") if params[:sync_ids] and !params[:sync_ids].is_a?(String) raise InvalidParameterError.new("Bad parameter: user_ids must be an String") if params[:user_ids] and !params[:user_ids].is_a?(String) raise InvalidParameterError.new("Bad parameter: group_ids must be an String") if params[:group_ids] and !params[:group_ids].is_a?(String) 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: description must be an String") if params[:description] and !params[:description].is_a?(String) raise InvalidParameterError.new("Bad parameter: name must be an String") if params[:name] and !params[:name].is_a?(String) raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params[:trigger] and !params[:trigger].is_a?(String) raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params[:trigger_actions] and !params[:trigger_actions].is_a?(Array) 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: automation must be an String") if params[:automation] and !params[:automation].is_a?(String) raise MissingParameterError.new("Parameter missing: id") unless params[:id] Api.send_request("/automations/#{@attributes[:id]}", :patch, params, @options) end |
#user_id ⇒ Object
int64 - User ID of the Automation’s creator.
229 230 231 |
# File 'lib/files.com/models/automation.rb', line 229 def user_id @attributes[:user_id] end |
#user_id=(value) ⇒ Object
233 234 235 |
# File 'lib/files.com/models/automation.rb', line 233 def user_id=(value) @attributes[:user_id] = value end |
#user_ids ⇒ Object
array - IDs of Users for the Automation (i.e. who to Request File from)
238 239 240 |
# File 'lib/files.com/models/automation.rb', line 238 def user_ids @attributes[:user_ids] end |
#user_ids=(value) ⇒ Object
242 243 244 |
# File 'lib/files.com/models/automation.rb', line 242 def user_ids=(value) @attributes[:user_ids] = value end |
#value ⇒ Object
object - A Hash of attributes specific to the automation type.
247 248 249 |
# File 'lib/files.com/models/automation.rb', line 247 def value @attributes[:value] end |
#value=(value) ⇒ Object
251 252 253 |
# File 'lib/files.com/models/automation.rb', line 251 def value=(value) @attributes[:value] = value end |
#webhook_url ⇒ Object
string - If trigger is ‘webhook`, this is the URL of the webhook to trigger the Automation.
256 257 258 |
# File 'lib/files.com/models/automation.rb', line 256 def webhook_url @attributes[:webhook_url] end |
#webhook_url=(value) ⇒ Object
260 261 262 |
# File 'lib/files.com/models/automation.rb', line 260 def webhook_url=(value) @attributes[:webhook_url] = value end |