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.



18425
18426
18427
18428
18429
18430
18431
18432
18433
18434
18435
18436
18437
18438
18439
18440
18441
18442
18443
18444
18445
18446
18447
18448
18449
18450
18451
18452
18453
18454
18455
18456
18457
# File 'lib/models/porcelain.rb', line 18425

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



18394
18395
18396
# File 'lib/models/porcelain.rb', line 18394

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



18396
18397
18398
# File 'lib/models/porcelain.rb', line 18396

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



18398
18399
18400
# File 'lib/models/porcelain.rb', line 18398

def employee_number
  @employee_number
end

#external_idObject

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



18400
18401
18402
# File 'lib/models/porcelain.rb', line 18400

def external_id
  @external_id
end

#first_nameObject

The User's first name.



18402
18403
18404
# File 'lib/models/porcelain.rb', line 18402

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



18404
18405
18406
# File 'lib/models/porcelain.rb', line 18404

def id
  @id
end

#last_nameObject

The User's last name.



18406
18407
18408
# File 'lib/models/porcelain.rb', line 18406

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.



18408
18409
18410
# File 'lib/models/porcelain.rb', line 18408

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.



18410
18411
18412
# File 'lib/models/porcelain.rb', line 18410

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.



18413
18414
18415
# File 'lib/models/porcelain.rb', line 18413

def password
  @password
end

#permission_levelObject

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



18415
18416
18417
# File 'lib/models/porcelain.rb', line 18415

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.



18419
18420
18421
# File 'lib/models/porcelain.rb', line 18419

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



18392
18393
18394
# File 'lib/models/porcelain.rb', line 18392

def scim
  @scim
end

#suspendedObject

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



18421
18422
18423
# File 'lib/models/porcelain.rb', line 18421

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



18423
18424
18425
# File 'lib/models/porcelain.rb', line 18423

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



18459
18460
18461
18462
18463
18464
18465
# File 'lib/models/porcelain.rb', line 18459

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