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, 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.



16566
16567
16568
16569
16570
16571
16572
16573
16574
16575
16576
16577
16578
16579
16580
16581
16582
16583
16584
16585
16586
16587
16588
16589
16590
16591
16592
16593
16594
16595
16596
# File 'lib/models/porcelain.rb', line 16566

def initialize(
  scim: nil,
  created_at: nil,
  email: 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
  @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



16537
16538
16539
# File 'lib/models/porcelain.rb', line 16537

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



16539
16540
16541
# File 'lib/models/porcelain.rb', line 16539

def email
  @email
end

#external_idObject

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



16541
16542
16543
# File 'lib/models/porcelain.rb', line 16541

def external_id
  @external_id
end

#first_nameObject

The User's first name.



16543
16544
16545
# File 'lib/models/porcelain.rb', line 16543

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



16545
16546
16547
# File 'lib/models/porcelain.rb', line 16545

def id
  @id
end

#last_nameObject

The User's last name.



16547
16548
16549
# File 'lib/models/porcelain.rb', line 16547

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.



16549
16550
16551
# File 'lib/models/porcelain.rb', line 16549

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.



16551
16552
16553
# File 'lib/models/porcelain.rb', line 16551

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.



16554
16555
16556
# File 'lib/models/porcelain.rb', line 16554

def password
  @password
end

#permission_levelObject

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



16556
16557
16558
# File 'lib/models/porcelain.rb', line 16556

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.



16560
16561
16562
# File 'lib/models/porcelain.rb', line 16560

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



16535
16536
16537
# File 'lib/models/porcelain.rb', line 16535

def scim
  @scim
end

#suspendedObject

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



16562
16563
16564
# File 'lib/models/porcelain.rb', line 16562

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



16564
16565
16566
# File 'lib/models/porcelain.rb', line 16564

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16598
16599
16600
16601
16602
16603
16604
# File 'lib/models/porcelain.rb', line 16598

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