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.



16634
16635
16636
16637
16638
16639
16640
16641
16642
16643
16644
16645
16646
16647
16648
16649
16650
16651
16652
16653
16654
16655
16656
16657
16658
16659
16660
16661
16662
16663
16664
# File 'lib/models/porcelain.rb', line 16634

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



16605
16606
16607
# File 'lib/models/porcelain.rb', line 16605

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



16607
16608
16609
# File 'lib/models/porcelain.rb', line 16607

def email
  @email
end

#external_idObject

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



16609
16610
16611
# File 'lib/models/porcelain.rb', line 16609

def external_id
  @external_id
end

#first_nameObject

The User's first name.



16611
16612
16613
# File 'lib/models/porcelain.rb', line 16611

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



16613
16614
16615
# File 'lib/models/porcelain.rb', line 16613

def id
  @id
end

#last_nameObject

The User's last name.



16615
16616
16617
# File 'lib/models/porcelain.rb', line 16615

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.



16617
16618
16619
# File 'lib/models/porcelain.rb', line 16617

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.



16619
16620
16621
# File 'lib/models/porcelain.rb', line 16619

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.



16622
16623
16624
# File 'lib/models/porcelain.rb', line 16622

def password
  @password
end

#permission_levelObject

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



16624
16625
16626
# File 'lib/models/porcelain.rb', line 16624

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.



16628
16629
16630
# File 'lib/models/porcelain.rb', line 16628

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



16603
16604
16605
# File 'lib/models/porcelain.rb', line 16603

def scim
  @scim
end

#suspendedObject

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



16630
16631
16632
# File 'lib/models/porcelain.rb', line 16630

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



16632
16633
16634
# File 'lib/models/porcelain.rb', line 16632

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16666
16667
16668
16669
16670
16671
16672
# File 'lib/models/porcelain.rb', line 16666

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