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.



18293
18294
18295
18296
18297
18298
18299
18300
18301
18302
18303
18304
18305
18306
18307
18308
18309
18310
18311
18312
18313
18314
18315
18316
18317
18318
18319
18320
18321
18322
18323
18324
18325
# File 'lib/models/porcelain.rb', line 18293

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



18262
18263
18264
# File 'lib/models/porcelain.rb', line 18262

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



18264
18265
18266
# File 'lib/models/porcelain.rb', line 18264

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



18266
18267
18268
# File 'lib/models/porcelain.rb', line 18266

def employee_number
  @employee_number
end

#external_idObject

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



18268
18269
18270
# File 'lib/models/porcelain.rb', line 18268

def external_id
  @external_id
end

#first_nameObject

The User's first name.



18270
18271
18272
# File 'lib/models/porcelain.rb', line 18270

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



18272
18273
18274
# File 'lib/models/porcelain.rb', line 18272

def id
  @id
end

#last_nameObject

The User's last name.



18274
18275
18276
# File 'lib/models/porcelain.rb', line 18274

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.



18276
18277
18278
# File 'lib/models/porcelain.rb', line 18276

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.



18278
18279
18280
# File 'lib/models/porcelain.rb', line 18278

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.



18281
18282
18283
# File 'lib/models/porcelain.rb', line 18281

def password
  @password
end

#permission_levelObject

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



18283
18284
18285
# File 'lib/models/porcelain.rb', line 18283

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.



18287
18288
18289
# File 'lib/models/porcelain.rb', line 18287

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



18260
18261
18262
# File 'lib/models/porcelain.rb', line 18260

def scim
  @scim
end

#suspendedObject

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



18289
18290
18291
# File 'lib/models/porcelain.rb', line 18289

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



18291
18292
18293
# File 'lib/models/porcelain.rb', line 18291

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



18327
18328
18329
18330
18331
18332
18333
# File 'lib/models/porcelain.rb', line 18327

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