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.



18377
18378
18379
18380
18381
18382
18383
18384
18385
18386
18387
18388
18389
18390
18391
18392
18393
18394
18395
18396
18397
18398
18399
18400
18401
18402
18403
18404
18405
18406
18407
18408
18409
# File 'lib/models/porcelain.rb', line 18377

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



18346
18347
18348
# File 'lib/models/porcelain.rb', line 18346

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



18348
18349
18350
# File 'lib/models/porcelain.rb', line 18348

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



18350
18351
18352
# File 'lib/models/porcelain.rb', line 18350

def employee_number
  @employee_number
end

#external_idObject

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



18352
18353
18354
# File 'lib/models/porcelain.rb', line 18352

def external_id
  @external_id
end

#first_nameObject

The User's first name.



18354
18355
18356
# File 'lib/models/porcelain.rb', line 18354

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



18356
18357
18358
# File 'lib/models/porcelain.rb', line 18356

def id
  @id
end

#last_nameObject

The User's last name.



18358
18359
18360
# File 'lib/models/porcelain.rb', line 18358

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.



18360
18361
18362
# File 'lib/models/porcelain.rb', line 18360

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.



18362
18363
18364
# File 'lib/models/porcelain.rb', line 18362

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.



18365
18366
18367
# File 'lib/models/porcelain.rb', line 18365

def password
  @password
end

#permission_levelObject

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



18367
18368
18369
# File 'lib/models/porcelain.rb', line 18367

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.



18371
18372
18373
# File 'lib/models/porcelain.rb', line 18371

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



18344
18345
18346
# File 'lib/models/porcelain.rb', line 18344

def scim
  @scim
end

#suspendedObject

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



18373
18374
18375
# File 'lib/models/porcelain.rb', line 18373

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



18375
18376
18377
# File 'lib/models/porcelain.rb', line 18375

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



18411
18412
18413
18414
18415
18416
18417
# File 'lib/models/porcelain.rb', line 18411

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