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.



16264
16265
16266
16267
16268
16269
16270
16271
16272
16273
16274
16275
16276
16277
16278
16279
16280
16281
16282
16283
16284
16285
16286
16287
16288
16289
16290
16291
16292
# File 'lib/models/porcelain.rb', line 16264

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.



16237
16238
16239
# File 'lib/models/porcelain.rb', line 16237

def email
  @email
end

#external_idObject

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



16239
16240
16241
# File 'lib/models/porcelain.rb', line 16239

def external_id
  @external_id
end

#first_nameObject

The User's first name.



16241
16242
16243
# File 'lib/models/porcelain.rb', line 16241

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



16243
16244
16245
# File 'lib/models/porcelain.rb', line 16243

def id
  @id
end

#last_nameObject

The User's last name.



16245
16246
16247
# File 'lib/models/porcelain.rb', line 16245

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.



16247
16248
16249
# File 'lib/models/porcelain.rb', line 16247

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.



16249
16250
16251
# File 'lib/models/porcelain.rb', line 16249

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.



16252
16253
16254
# File 'lib/models/porcelain.rb', line 16252

def password
  @password
end

#permission_levelObject

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



16254
16255
16256
# File 'lib/models/porcelain.rb', line 16254

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.



16258
16259
16260
# File 'lib/models/porcelain.rb', line 16258

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



16235
16236
16237
# File 'lib/models/porcelain.rb', line 16235

def scim
  @scim
end

#suspendedObject

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



16260
16261
16262
# File 'lib/models/porcelain.rb', line 16260

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



16262
16263
16264
# File 'lib/models/porcelain.rb', line 16262

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



16294
16295
16296
16297
16298
16299
16300
# File 'lib/models/porcelain.rb', line 16294

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