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.



16155
16156
16157
16158
16159
16160
16161
16162
16163
16164
16165
16166
16167
16168
16169
16170
16171
16172
16173
16174
16175
16176
16177
16178
16179
16180
16181
16182
16183
# File 'lib/models/porcelain.rb', line 16155

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.



16128
16129
16130
# File 'lib/models/porcelain.rb', line 16128

def email
  @email
end

#external_idObject

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



16130
16131
16132
# File 'lib/models/porcelain.rb', line 16130

def external_id
  @external_id
end

#first_nameObject

The User's first name.



16132
16133
16134
# File 'lib/models/porcelain.rb', line 16132

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



16134
16135
16136
# File 'lib/models/porcelain.rb', line 16134

def id
  @id
end

#last_nameObject

The User's last name.



16136
16137
16138
# File 'lib/models/porcelain.rb', line 16136

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.



16138
16139
16140
# File 'lib/models/porcelain.rb', line 16138

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.



16140
16141
16142
# File 'lib/models/porcelain.rb', line 16140

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.



16143
16144
16145
# File 'lib/models/porcelain.rb', line 16143

def password
  @password
end

#permission_levelObject

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



16145
16146
16147
# File 'lib/models/porcelain.rb', line 16145

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.



16149
16150
16151
# File 'lib/models/porcelain.rb', line 16149

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



16126
16127
16128
# File 'lib/models/porcelain.rb', line 16126

def scim
  @scim
end

#suspendedObject

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



16151
16152
16153
# File 'lib/models/porcelain.rb', line 16151

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



16153
16154
16155
# File 'lib/models/porcelain.rb', line 16153

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16185
16186
16187
16188
16189
16190
16191
# File 'lib/models/porcelain.rb', line 16185

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