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.



15030
15031
15032
15033
15034
15035
15036
15037
15038
15039
15040
15041
15042
15043
15044
15045
15046
15047
15048
15049
15050
15051
15052
15053
15054
15055
15056
15057
15058
# File 'lib/models/porcelain.rb', line 15030

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.



15003
15004
15005
# File 'lib/models/porcelain.rb', line 15003

def email
  @email
end

#external_idObject

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



15005
15006
15007
# File 'lib/models/porcelain.rb', line 15005

def external_id
  @external_id
end

#first_nameObject

The User's first name.



15007
15008
15009
# File 'lib/models/porcelain.rb', line 15007

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



15009
15010
15011
# File 'lib/models/porcelain.rb', line 15009

def id
  @id
end

#last_nameObject

The User's last name.



15011
15012
15013
# File 'lib/models/porcelain.rb', line 15011

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.



15013
15014
15015
# File 'lib/models/porcelain.rb', line 15013

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.



15015
15016
15017
# File 'lib/models/porcelain.rb', line 15015

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.



15018
15019
15020
# File 'lib/models/porcelain.rb', line 15018

def password
  @password
end

#permission_levelObject

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



15020
15021
15022
# File 'lib/models/porcelain.rb', line 15020

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.



15024
15025
15026
# File 'lib/models/porcelain.rb', line 15024

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



15001
15002
15003
# File 'lib/models/porcelain.rb', line 15001

def scim
  @scim
end

#suspendedObject

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



15026
15027
15028
# File 'lib/models/porcelain.rb', line 15026

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



15028
15029
15030
# File 'lib/models/porcelain.rb', line 15028

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



15060
15061
15062
15063
15064
15065
15066
# File 'lib/models/porcelain.rb', line 15060

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