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



16388
16389
16390
16391
16392
16393
16394
16395
16396
16397
16398
16399
16400
16401
16402
16403
16404
16405
16406
16407
16408
16409
16410
16411
16412
16413
16414
16415
16416
# File 'lib/models/porcelain.rb', line 16388

def initialize(
  scim: 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
  @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

#emailObject

The User's email address. Must be unique.



16361
16362
16363
# File 'lib/models/porcelain.rb', line 16361

def email
  @email
end

#external_idObject

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



16363
16364
16365
# File 'lib/models/porcelain.rb', line 16363

def external_id
  @external_id
end

#first_nameObject

The User's first name.



16365
16366
16367
# File 'lib/models/porcelain.rb', line 16365

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



16367
16368
16369
# File 'lib/models/porcelain.rb', line 16367

def id
  @id
end

#last_nameObject

The User's last name.



16369
16370
16371
# File 'lib/models/porcelain.rb', line 16369

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.



16371
16372
16373
# File 'lib/models/porcelain.rb', line 16371

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.



16373
16374
16375
# File 'lib/models/porcelain.rb', line 16373

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.



16376
16377
16378
# File 'lib/models/porcelain.rb', line 16376

def password
  @password
end

#permission_levelObject

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



16378
16379
16380
# File 'lib/models/porcelain.rb', line 16378

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.



16382
16383
16384
# File 'lib/models/porcelain.rb', line 16382

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



16359
16360
16361
# File 'lib/models/porcelain.rb', line 16359

def scim
  @scim
end

#suspendedObject

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



16384
16385
16386
# File 'lib/models/porcelain.rb', line 16384

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



16386
16387
16388
# File 'lib/models/porcelain.rb', line 16386

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16418
16419
16420
16421
16422
16423
16424
# File 'lib/models/porcelain.rb', line 16418

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