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.



17640
17641
17642
17643
17644
17645
17646
17647
17648
17649
17650
17651
17652
17653
17654
17655
17656
17657
17658
17659
17660
17661
17662
17663
17664
17665
17666
17667
17668
17669
17670
17671
17672
# File 'lib/models/porcelain.rb', line 17640

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



17609
17610
17611
# File 'lib/models/porcelain.rb', line 17609

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



17611
17612
17613
# File 'lib/models/porcelain.rb', line 17611

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



17613
17614
17615
# File 'lib/models/porcelain.rb', line 17613

def employee_number
  @employee_number
end

#external_idObject

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



17615
17616
17617
# File 'lib/models/porcelain.rb', line 17615

def external_id
  @external_id
end

#first_nameObject

The User's first name.



17617
17618
17619
# File 'lib/models/porcelain.rb', line 17617

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



17619
17620
17621
# File 'lib/models/porcelain.rb', line 17619

def id
  @id
end

#last_nameObject

The User's last name.



17621
17622
17623
# File 'lib/models/porcelain.rb', line 17621

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.



17623
17624
17625
# File 'lib/models/porcelain.rb', line 17623

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.



17625
17626
17627
# File 'lib/models/porcelain.rb', line 17625

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.



17628
17629
17630
# File 'lib/models/porcelain.rb', line 17628

def password
  @password
end

#permission_levelObject

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



17630
17631
17632
# File 'lib/models/porcelain.rb', line 17630

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.



17634
17635
17636
# File 'lib/models/porcelain.rb', line 17634

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



17607
17608
17609
# File 'lib/models/porcelain.rb', line 17607

def scim
  @scim
end

#suspendedObject

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



17636
17637
17638
# File 'lib/models/porcelain.rb', line 17636

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



17638
17639
17640
# File 'lib/models/porcelain.rb', line 17638

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



17674
17675
17676
17677
17678
17679
17680
# File 'lib/models/porcelain.rb', line 17674

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