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.



16213
16214
16215
16216
16217
16218
16219
16220
16221
16222
16223
16224
16225
16226
16227
16228
16229
16230
16231
16232
16233
16234
16235
16236
16237
16238
16239
16240
16241
# File 'lib/models/porcelain.rb', line 16213

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.



16186
16187
16188
# File 'lib/models/porcelain.rb', line 16186

def email
  @email
end

#external_idObject

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



16188
16189
16190
# File 'lib/models/porcelain.rb', line 16188

def external_id
  @external_id
end

#first_nameObject

The User's first name.



16190
16191
16192
# File 'lib/models/porcelain.rb', line 16190

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



16192
16193
16194
# File 'lib/models/porcelain.rb', line 16192

def id
  @id
end

#last_nameObject

The User's last name.



16194
16195
16196
# File 'lib/models/porcelain.rb', line 16194

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.



16196
16197
16198
# File 'lib/models/porcelain.rb', line 16196

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.



16198
16199
16200
# File 'lib/models/porcelain.rb', line 16198

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.



16201
16202
16203
# File 'lib/models/porcelain.rb', line 16201

def password
  @password
end

#permission_levelObject

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



16203
16204
16205
# File 'lib/models/porcelain.rb', line 16203

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.



16207
16208
16209
# File 'lib/models/porcelain.rb', line 16207

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



16184
16185
16186
# File 'lib/models/porcelain.rb', line 16184

def scim
  @scim
end

#suspendedObject

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



16209
16210
16211
# File 'lib/models/porcelain.rb', line 16209

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



16211
16212
16213
# File 'lib/models/porcelain.rb', line 16211

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16243
16244
16245
16246
16247
16248
16249
# File 'lib/models/porcelain.rb', line 16243

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