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.



14837
14838
14839
14840
14841
14842
14843
14844
14845
14846
14847
14848
14849
14850
14851
14852
14853
14854
14855
14856
14857
14858
14859
14860
14861
14862
14863
14864
14865
# File 'lib/models/porcelain.rb', line 14837

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.



14810
14811
14812
# File 'lib/models/porcelain.rb', line 14810

def email
  @email
end

#external_idObject

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



14812
14813
14814
# File 'lib/models/porcelain.rb', line 14812

def external_id
  @external_id
end

#first_nameObject

The User's first name.



14814
14815
14816
# File 'lib/models/porcelain.rb', line 14814

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



14816
14817
14818
# File 'lib/models/porcelain.rb', line 14816

def id
  @id
end

#last_nameObject

The User's last name.



14818
14819
14820
# File 'lib/models/porcelain.rb', line 14818

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.



14820
14821
14822
# File 'lib/models/porcelain.rb', line 14820

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.



14822
14823
14824
# File 'lib/models/porcelain.rb', line 14822

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.



14825
14826
14827
# File 'lib/models/porcelain.rb', line 14825

def password
  @password
end

#permission_levelObject

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



14827
14828
14829
# File 'lib/models/porcelain.rb', line 14827

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.



14831
14832
14833
# File 'lib/models/porcelain.rb', line 14831

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



14808
14809
14810
# File 'lib/models/porcelain.rb', line 14808

def scim
  @scim
end

#suspendedObject

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



14833
14834
14835
# File 'lib/models/porcelain.rb', line 14833

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



14835
14836
14837
# File 'lib/models/porcelain.rb', line 14835

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14867
14868
14869
14870
14871
14872
14873
# File 'lib/models/porcelain.rb', line 14867

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