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, employee_number: 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.



17196
17197
17198
17199
17200
17201
17202
17203
17204
17205
17206
17207
17208
17209
17210
17211
17212
17213
17214
17215
17216
17217
17218
17219
17220
17221
17222
17223
17224
17225
17226
17227
17228
# File 'lib/models/porcelain.rb', line 17196

def initialize(
  scim: nil,
  created_at: nil,
  email: nil,
  employee_number: 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
  @employee_number = employee_number == nil ? "" : employee_number
  @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



17165
17166
17167
# File 'lib/models/porcelain.rb', line 17165

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



17167
17168
17169
# File 'lib/models/porcelain.rb', line 17167

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



17169
17170
17171
# File 'lib/models/porcelain.rb', line 17169

def employee_number
  @employee_number
end

#external_idObject

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



17171
17172
17173
# File 'lib/models/porcelain.rb', line 17171

def external_id
  @external_id
end

#first_nameObject

The User's first name.



17173
17174
17175
# File 'lib/models/porcelain.rb', line 17173

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



17175
17176
17177
# File 'lib/models/porcelain.rb', line 17175

def id
  @id
end

#last_nameObject

The User's last name.



17177
17178
17179
# File 'lib/models/porcelain.rb', line 17177

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.



17179
17180
17181
# File 'lib/models/porcelain.rb', line 17179

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.



17181
17182
17183
# File 'lib/models/porcelain.rb', line 17181

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.



17184
17185
17186
# File 'lib/models/porcelain.rb', line 17184

def password
  @password
end

#permission_levelObject

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



17186
17187
17188
# File 'lib/models/porcelain.rb', line 17186

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.



17190
17191
17192
# File 'lib/models/porcelain.rb', line 17190

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



17163
17164
17165
# File 'lib/models/porcelain.rb', line 17163

def scim
  @scim
end

#suspendedObject

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



17192
17193
17194
# File 'lib/models/porcelain.rb', line 17192

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



17194
17195
17196
# File 'lib/models/porcelain.rb', line 17194

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



17230
17231
17232
17233
17234
17235
17236
# File 'lib/models/porcelain.rb', line 17230

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