Class: Files::Restore

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Restore.



7
8
9
10
# File 'lib/files.com/models/restore.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/restore.rb', line 5

def attributes
  @attributes
end

#optionsObject (readonly)

Returns the value of attribute options.



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

def options
  @options
end

Class Method Details

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



237
238
239
# File 'lib/files.com/models/restore.rb', line 237

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

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

Parameters:

earliest_date (required) - string - Restore all files deleted after this date/time. Don't set this earlier than you need. Can not be greater than 365 days prior to the restore request.
prefix - string - Prefix of the files/folders to restore. To restore a folder, add a trailing slash to the folder name. Do not use a leading slash. To restore all deleted items, specify an empty string (`''`) in the prefix field or omit the field from the request.
restoration_type - string - Type of restoration to perform. `files` restores deleted filesystem items. `users` restores deleted users and associated access/authentication records.
restore_deleted_permissions - boolean - If true, we will also restore any Permissions that match the same path prefix from the same dates.
restore_in_place - boolean - If true, we will restore the files in place (into their original paths). If false, we will create a new restoration folder in the root and restore files there.
update_timestamps - boolean - If true, we will update the last modified timestamp of restored files to today's date. If false, we might trigger File Expiration to delete the file again.
workspace_id - int64 - Workspace ID for a workspace-scoped restore. `0` means the default site-wide scope.


249
250
251
252
253
254
255
256
257
258
# File 'lib/files.com/models/restore.rb', line 249

def self.create(params = {}, options = {})
  raise InvalidParameterError.new("Bad parameter: earliest_date must be an String") if params[:earliest_date] and !params[:earliest_date].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: prefix must be an String") if params[:prefix] and !params[:prefix].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: restoration_type must be an String") if params[:restoration_type] and !params[:restoration_type].is_a?(String)
  raise InvalidParameterError.new("Bad parameter: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: earliest_date") unless params[:earliest_date]

  response, options = Api.send_request("/restores", :post, params, options)
  Restore.new(response.data, 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: 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. Valid fields are `workspace_id`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `restoration_type`.


226
227
228
229
230
231
232
233
234
235
# File 'lib/files.com/models/restore.rb', line 226

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)

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

Instance Method Details

#api_keys_restoredObject

int64 - Number of API keys restored (only present for ‘restoration_type=users`).



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

def api_keys_restored
  @attributes[:api_keys_restored]
end

#api_keys_restored=(value) ⇒ Object



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

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

#dirs_erroredObject

int64 - Number of directories that were not able to be restored.



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

def dirs_errored
  @attributes[:dirs_errored]
end

#dirs_errored=(value) ⇒ Object



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

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

#dirs_restoredObject

int64 - Number of directories that were successfully restored.



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

def dirs_restored
  @attributes[:dirs_restored]
end

#dirs_restored=(value) ⇒ Object



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

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

#dirs_totalObject

int64 - Total number of directories processed.



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

def dirs_total
  @attributes[:dirs_total]
end

#dirs_total=(value) ⇒ Object



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

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

#earliest_dateObject

date-time - Restore all files deleted after this date/time. Don’t set this earlier than you need. Can not be greater than 365 days prior to the restore request.



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

def earliest_date
  @attributes[:earliest_date]
end

#earliest_date=(value) ⇒ Object



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

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

#error_messagesObject

array(string) - Error messages received while restoring files and/or directories. Only present if there were errors.



202
203
204
# File 'lib/files.com/models/restore.rb', line 202

def error_messages
  @attributes[:error_messages]
end

#error_messages=(value) ⇒ Object



206
207
208
# File 'lib/files.com/models/restore.rb', line 206

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

#files_erroredObject

int64 - Number of files that were not able to be restored.



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

def files_errored
  @attributes[:files_errored]
end

#files_errored=(value) ⇒ Object



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

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

#files_restoredObject

int64 - Number of files successfully restored.



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

def files_restored
  @attributes[:files_restored]
end

#files_restored=(value) ⇒ Object



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

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

#files_totalObject

int64 - Total number of files processed.



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

def files_total
  @attributes[:files_total]
end

#files_total=(value) ⇒ Object



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

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

#idObject

int64 - Restore Record ID.



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

def id
  @attributes[:id]
end

#id=(value) ⇒ Object



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

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

#prefixObject

string - Prefix of the files/folders to restore. To restore a folder, add a trailing slash to the folder name. Do not use a leading slash. To restore all deleted items, specify an empty string (‘”`) in the prefix field or omit the field from the request.



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

def prefix
  @attributes[:prefix]
end

#prefix=(value) ⇒ Object



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

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

#public_keys_restoredObject

int64 - Number of public keys restored (only present for ‘restoration_type=users`).



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

def public_keys_restored
  @attributes[:public_keys_restored]
end

#public_keys_restored=(value) ⇒ Object



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

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

#restoration_typeObject

string - Type of restoration to perform. ‘files` restores deleted filesystem items. `users` restores deleted users and associated access/authentication records.



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

def restoration_type
  @attributes[:restoration_type]
end

#restoration_type=(value) ⇒ Object



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

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

#restore_deleted_permissionsObject

boolean - If true, we will also restore any Permissions that match the same path prefix from the same dates.



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

def restore_deleted_permissions
  @attributes[:restore_deleted_permissions]
end

#restore_deleted_permissions=(value) ⇒ Object



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

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

#restore_in_placeObject

boolean - If true, we will restore the files in place (into their original paths). If false, we will create a new restoration folder in the root and restore files there.



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

def restore_in_place
  @attributes[:restore_in_place]
end

#restore_in_place=(value) ⇒ Object



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

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

#saveObject



210
211
212
213
214
215
216
217
218
219
# File 'lib/files.com/models/restore.rb', line 210

def save
  if @attributes[:id]
    raise NotImplementedError.new("The Restore object doesn't support updates.")
  else
    new_obj = Restore.create(@attributes, @options)
  end

  @attributes = new_obj.attributes
  true
end

#statusObject

string - Status of the restoration process.



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

def status
  @attributes[:status]
end

#status=(value) ⇒ Object



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

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

#two_factor_authentication_methods_restoredObject

int64 - Number of two factor authentication methods restored (only present for ‘restoration_type=users`).



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

def two_factor_authentication_methods_restored
  @attributes[:two_factor_authentication_methods_restored]
end

#two_factor_authentication_methods_restored=(value) ⇒ Object



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

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

#update_timestampsObject

boolean - If true, we will update the last modified timestamp of restored files to today’s date. If false, we might trigger File Expiration to delete the file again.



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

def update_timestamps
  @attributes[:update_timestamps]
end

#update_timestamps=(value) ⇒ Object



188
189
190
# File 'lib/files.com/models/restore.rb', line 188

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

#users_erroredObject

int64 - Number of users that failed to restore (only present for ‘restoration_type=users`).



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

def users_errored
  @attributes[:users_errored]
end

#users_errored=(value) ⇒ Object



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

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

#users_restoredObject

int64 - Number of users successfully restored (only present for ‘restoration_type=users`).



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

def users_restored
  @attributes[:users_restored]
end

#users_restored=(value) ⇒ Object



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

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

#users_totalObject

int64 - Total number of users processed (only present for ‘restoration_type=users`).



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

def users_total
  @attributes[:users_total]
end

#users_total=(value) ⇒ Object



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

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

#workspace_idObject

int64 - Workspace ID for a workspace-scoped restore. ‘0` means the default site-wide scope.



193
194
195
# File 'lib/files.com/models/restore.rb', line 193

def workspace_id
  @attributes[:workspace_id]
end

#workspace_id=(value) ⇒ Object



197
198
199
# File 'lib/files.com/models/restore.rb', line 197

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