Class: Files::DesktopConfigurationProfile

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of DesktopConfigurationProfile.



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

def attributes
  @attributes
end

#optionsObject (readonly)

Returns the value of attribute options.



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

def options
  @options
end

Class Method Details

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



126
127
128
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 126

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

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

Parameters:

name (required) - string - Profile name
mount_mappings (required) - object - Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.
workspace_id - int64 - Workspace ID
use_for_all_users - boolean - Whether this profile applies to all users in the Workspace by default
disable_drive_mounting - boolean - Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile


152
153
154
155
156
157
158
159
160
161
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 152

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: mount_mappings must be an Hash") if params[:mount_mappings] and !params[:mount_mappings].is_a?(Hash)
  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: name") unless params[:name]
  raise MissingParameterError.new("Parameter missing: mount_mappings") unless params[:mount_mappings]

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

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



182
183
184
185
186
187
188
189
190
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 182

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("/desktop_configuration_profiles/#{params[:id]}", :delete, params, options)
  nil
end

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



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

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

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

Parameters:

id (required) - int64 - Desktop Configuration Profile ID.


132
133
134
135
136
137
138
139
140
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 132

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("/desktop_configuration_profiles/#{params[:id]}", :get, params, options)
  DesktopConfigurationProfile.new(response.data, options)
end

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



142
143
144
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 142

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: 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` and `name`.
filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `workspace_id`.


115
116
117
118
119
120
121
122
123
124
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 115

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(DesktopConfigurationProfile, params) do
    Api.send_request("/desktop_configuration_profiles", :get, params, options)
  end
end

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

Parameters:

name - string - Profile name
workspace_id - int64 - Workspace ID
mount_mappings - object - Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.
use_for_all_users - boolean - Whether this profile applies to all users in the Workspace by default
disable_drive_mounting - boolean - Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile


169
170
171
172
173
174
175
176
177
178
179
180
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 169

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: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
  raise InvalidParameterError.new("Bad parameter: mount_mappings must be an Hash") if params[:mount_mappings] and !params[:mount_mappings].is_a?(Hash)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

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

Instance Method Details

#delete(params = {}) ⇒ Object



84
85
86
87
88
89
90
91
92
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 84

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("/desktop_configuration_profiles/#{@attributes[:id]}", :delete, params, @options)
end

#destroy(params = {}) ⇒ Object



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

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

#disable_drive_mountingObject

boolean - Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile



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

def disable_drive_mounting
  @attributes[:disable_drive_mounting]
end

#disable_drive_mounting=(value) ⇒ Object



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

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

#idObject

int64 - Desktop Configuration Profile ID



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

def id
  @attributes[:id]
end

#id=(value) ⇒ Object



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

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

#mount_mappingsObject

object - Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.



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

def mount_mappings
  @attributes[:mount_mappings]
end

#mount_mappings=(value) ⇒ Object



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

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

#nameObject

string - Profile name



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

def name
  @attributes[:name]
end

#name=(value) ⇒ Object



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

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

#saveObject



99
100
101
102
103
104
105
106
107
108
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 99

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

  @attributes = new_obj.attributes
  true
end

#update(params = {}) ⇒ Object

Parameters:

name - string - Profile name
workspace_id - int64 - Workspace ID
mount_mappings - object - Mount point mappings for the desktop app. Keys must be a single uppercase Windows drive letter other than A, B, or C, and values are Files.com paths to mount there.
use_for_all_users - boolean - Whether this profile applies to all users in the Workspace by default
disable_drive_mounting - boolean - Whether the desktop app should hide drive mounting, prevent new drive mounts, and unmount active drive mounts for users with this profile


72
73
74
75
76
77
78
79
80
81
82
# File 'lib/files.com/models/desktop_configuration_profile.rb', line 72

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: workspace_id must be an Integer") if params[:workspace_id] and !params[:workspace_id].is_a?(Integer)
  raise MissingParameterError.new("Parameter missing: id") unless params[:id]

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

#use_for_all_usersObject

boolean - Whether this profile applies to all users in the Workspace by default



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

def use_for_all_users
  @attributes[:use_for_all_users]
end

#use_for_all_users=(value) ⇒ Object



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

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

#workspace_idObject

int64 - Workspace ID



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

def workspace_id
  @attributes[:workspace_id]
end

#workspace_id=(value) ⇒ Object



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

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