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.



17566
17567
17568
17569
17570
17571
17572
17573
17574
17575
17576
17577
17578
17579
17580
17581
17582
17583
17584
17585
17586
17587
17588
17589
17590
17591
17592
17593
17594
17595
17596
17597
17598
# File 'lib/models/porcelain.rb', line 17566

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



17535
17536
17537
# File 'lib/models/porcelain.rb', line 17535

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



17537
17538
17539
# File 'lib/models/porcelain.rb', line 17537

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



17539
17540
17541
# File 'lib/models/porcelain.rb', line 17539

def employee_number
  @employee_number
end

#external_idObject

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



17541
17542
17543
# File 'lib/models/porcelain.rb', line 17541

def external_id
  @external_id
end

#first_nameObject

The User's first name.



17543
17544
17545
# File 'lib/models/porcelain.rb', line 17543

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



17545
17546
17547
# File 'lib/models/porcelain.rb', line 17545

def id
  @id
end

#last_nameObject

The User's last name.



17547
17548
17549
# File 'lib/models/porcelain.rb', line 17547

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.



17549
17550
17551
# File 'lib/models/porcelain.rb', line 17549

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.



17551
17552
17553
# File 'lib/models/porcelain.rb', line 17551

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.



17554
17555
17556
# File 'lib/models/porcelain.rb', line 17554

def password
  @password
end

#permission_levelObject

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



17556
17557
17558
# File 'lib/models/porcelain.rb', line 17556

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.



17560
17561
17562
# File 'lib/models/porcelain.rb', line 17560

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



17533
17534
17535
# File 'lib/models/porcelain.rb', line 17533

def scim
  @scim
end

#suspendedObject

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



17562
17563
17564
# File 'lib/models/porcelain.rb', line 17562

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



17564
17565
17566
# File 'lib/models/porcelain.rb', line 17564

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



17600
17601
17602
17603
17604
17605
17606
# File 'lib/models/porcelain.rb', line 17600

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