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.



14938
14939
14940
14941
14942
14943
14944
14945
14946
14947
14948
14949
14950
14951
14952
14953
14954
14955
14956
14957
14958
14959
14960
14961
14962
14963
14964
14965
14966
# File 'lib/models/porcelain.rb', line 14938

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.



14911
14912
14913
# File 'lib/models/porcelain.rb', line 14911

def email
  @email
end

#external_idObject

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



14913
14914
14915
# File 'lib/models/porcelain.rb', line 14913

def external_id
  @external_id
end

#first_nameObject

The User's first name.



14915
14916
14917
# File 'lib/models/porcelain.rb', line 14915

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



14917
14918
14919
# File 'lib/models/porcelain.rb', line 14917

def id
  @id
end

#last_nameObject

The User's last name.



14919
14920
14921
# File 'lib/models/porcelain.rb', line 14919

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.



14921
14922
14923
# File 'lib/models/porcelain.rb', line 14921

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.



14923
14924
14925
# File 'lib/models/porcelain.rb', line 14923

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.



14926
14927
14928
# File 'lib/models/porcelain.rb', line 14926

def password
  @password
end

#permission_levelObject

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



14928
14929
14930
# File 'lib/models/porcelain.rb', line 14928

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.



14932
14933
14934
# File 'lib/models/porcelain.rb', line 14932

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



14909
14910
14911
# File 'lib/models/porcelain.rb', line 14909

def scim
  @scim
end

#suspendedObject

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



14934
14935
14936
# File 'lib/models/porcelain.rb', line 14934

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



14936
14937
14938
# File 'lib/models/porcelain.rb', line 14936

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



14968
14969
14970
14971
14972
14973
14974
# File 'lib/models/porcelain.rb', line 14968

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