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.



18485
18486
18487
18488
18489
18490
18491
18492
18493
18494
18495
18496
18497
18498
18499
18500
18501
18502
18503
18504
18505
18506
18507
18508
18509
18510
18511
18512
18513
18514
18515
18516
18517
# File 'lib/models/porcelain.rb', line 18485

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_at ⇒ Object

CreatedAt is the timestamp when the user was created



18454
18455
18456
# File 'lib/models/porcelain.rb', line 18454

def created_at
  @created_at
end

#email ⇒ Object

The User's email address. Must be unique.



18456
18457
18458
# File 'lib/models/porcelain.rb', line 18456

def email
  @email
end

#employee_number ⇒ Object

Internal employee ID used to identify the user.



18458
18459
18460
# File 'lib/models/porcelain.rb', line 18458

def employee_number
  @employee_number
end

#external_id ⇒ Object

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



18460
18461
18462
# File 'lib/models/porcelain.rb', line 18460

def external_id
  @external_id
end

#first_name ⇒ Object

The User's first name.



18462
18463
18464
# File 'lib/models/porcelain.rb', line 18462

def first_name
  @first_name
end

#id ⇒ Object

Unique identifier of the User.



18464
18465
18466
# File 'lib/models/porcelain.rb', line 18464

def id
  @id
end

#last_name ⇒ Object

The User's last name.



18466
18467
18468
# File 'lib/models/porcelain.rb', line 18466

def last_name
  @last_name
end

#managed_by ⇒ Object

Managed By is a read only field for what service manages this user, e.g. StrongDM, Okta, Azure.



18468
18469
18470
# File 'lib/models/porcelain.rb', line 18468

def managed_by
  @managed_by
end

#manager_id ⇒ Object

Manager ID is the ID of the user's manager. This field is empty when the user has no manager.



18470
18471
18472
# File 'lib/models/porcelain.rb', line 18470

def manager_id
  @manager_id
end

#password ⇒ Object

Password is a write-only field that can be used to set the user's password. Currently only supported for update.



18473
18474
18475
# File 'lib/models/porcelain.rb', line 18473

def password
  @password
end

#permission_level ⇒ Object

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



18475
18476
18477
# File 'lib/models/porcelain.rb', line 18475

def permission_level
  @permission_level
end

#resolved_manager_id ⇒ Object

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.



18479
18480
18481
# File 'lib/models/porcelain.rb', line 18479

def resolved_manager_id
  @resolved_manager_id
end

#scim ⇒ Object

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



18452
18453
18454
# File 'lib/models/porcelain.rb', line 18452

def scim
  @scim
end

#suspended ⇒ Object

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



18481
18482
18483
# File 'lib/models/porcelain.rb', line 18481

def suspended
  @suspended
end

#tags ⇒ Object

Tags is a map of key, value pairs.



18483
18484
18485
# File 'lib/models/porcelain.rb', line 18483

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



18519
18520
18521
18522
18523
18524
18525
# File 'lib/models/porcelain.rb', line 18519

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