Class: SDM::User

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Overview

A User can connect to resources they are granted directly, or granted via roles.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scim: nil, created_at: nil, email: nil, employee_number: nil, external_id: nil, first_name: nil, id: nil, last_name: nil, managed_by: nil, manager_id: nil, password: nil, permission_level: nil, resolved_manager_id: nil, suspended: nil, tags: nil) ⇒ User

Returns a new instance of User.



17260
17261
17262
17263
17264
17265
17266
17267
17268
17269
17270
17271
17272
17273
17274
17275
17276
17277
17278
17279
17280
17281
17282
17283
17284
17285
17286
17287
17288
17289
17290
17291
17292
# File 'lib/models/porcelain.rb', line 17260

def initialize(
  scim: nil,
  created_at: nil,
  email: nil,
  employee_number: nil,
  external_id: nil,
  first_name: nil,
  id: nil,
  last_name: nil,
  managed_by: nil,
  manager_id: nil,
  password: nil,
  permission_level: nil,
  resolved_manager_id: nil,
  suspended: nil,
  tags: nil
)
  @scim = scim == nil ? "" : scim
  @created_at = created_at == nil ? nil : created_at
  @email = email == nil ? "" : email
  @employee_number = employee_number == nil ? "" : employee_number
  @external_id = external_id == nil ? "" : external_id
  @first_name = first_name == nil ? "" : first_name
  @id = id == nil ? "" : id
  @last_name = last_name == nil ? "" : last_name
  @managed_by = managed_by == nil ? "" : managed_by
  @manager_id = manager_id == nil ? "" : manager_id
  @password = password == nil ? "" : password
  @permission_level = permission_level == nil ? "" : permission_level
  @resolved_manager_id = resolved_manager_id == nil ? "" : resolved_manager_id
  @suspended = suspended == nil ? false : suspended
  @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
end

Instance Attribute Details

#created_atObject

CreatedAt is the timestamp when the user was created



17229
17230
17231
# File 'lib/models/porcelain.rb', line 17229

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



17231
17232
17233
# File 'lib/models/porcelain.rb', line 17231

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



17233
17234
17235
# File 'lib/models/porcelain.rb', line 17233

def employee_number
  @employee_number
end

#external_idObject

External ID is an alternative unique ID this user is represented by within an external service.



17235
17236
17237
# File 'lib/models/porcelain.rb', line 17235

def external_id
  @external_id
end

#first_nameObject

The User's first name.



17237
17238
17239
# File 'lib/models/porcelain.rb', line 17237

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



17239
17240
17241
# File 'lib/models/porcelain.rb', line 17239

def id
  @id
end

#last_nameObject

The User's last name.



17241
17242
17243
# File 'lib/models/porcelain.rb', line 17241

def last_name
  @last_name
end

#managed_byObject

Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.



17243
17244
17245
# File 'lib/models/porcelain.rb', line 17243

def managed_by
  @managed_by
end

#manager_idObject

Manager ID is the ID of the user's manager. This field is empty when the user has no manager.



17245
17246
17247
# File 'lib/models/porcelain.rb', line 17245

def manager_id
  @manager_id
end

#passwordObject

Password is a write-only field that can be used to set the user's password. Currently only supported for update.



17248
17249
17250
# File 'lib/models/porcelain.rb', line 17248

def password
  @password
end

#permission_levelObject

PermissionLevel is the user's permission level e.g. admin, DBA, user.



17250
17251
17252
# File 'lib/models/porcelain.rb', line 17250

def permission_level
  @permission_level
end

#resolved_manager_idObject

Resolved Manager ID is the ID of the user's manager derived from the manager_id, if present, or from the SCIM metadata. This is a read-only field that's only populated for get and list.



17254
17255
17256
# File 'lib/models/porcelain.rb', line 17254

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

SCIM contains the raw SCIM metadata for the user. This is a read-only field.



17227
17228
17229
# File 'lib/models/porcelain.rb', line 17227

def scim
  @scim
end

#suspendedObject

Suspended is a read only field for the User's suspended state.



17256
17257
17258
# File 'lib/models/porcelain.rb', line 17256

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



17258
17259
17260
# File 'lib/models/porcelain.rb', line 17258

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



17294
17295
17296
17297
17298
17299
17300
# File 'lib/models/porcelain.rb', line 17294

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end