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.



15195
15196
15197
15198
15199
15200
15201
15202
15203
15204
15205
15206
15207
15208
15209
15210
15211
15212
15213
15214
15215
15216
15217
15218
15219
15220
15221
15222
15223
# File 'lib/models/porcelain.rb', line 15195

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.



15168
15169
15170
# File 'lib/models/porcelain.rb', line 15168

def email
  @email
end

#external_idObject

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



15170
15171
15172
# File 'lib/models/porcelain.rb', line 15170

def external_id
  @external_id
end

#first_nameObject

The User's first name.



15172
15173
15174
# File 'lib/models/porcelain.rb', line 15172

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



15174
15175
15176
# File 'lib/models/porcelain.rb', line 15174

def id
  @id
end

#last_nameObject

The User's last name.



15176
15177
15178
# File 'lib/models/porcelain.rb', line 15176

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.



15178
15179
15180
# File 'lib/models/porcelain.rb', line 15178

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.



15180
15181
15182
# File 'lib/models/porcelain.rb', line 15180

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.



15183
15184
15185
# File 'lib/models/porcelain.rb', line 15183

def password
  @password
end

#permission_levelObject

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



15185
15186
15187
# File 'lib/models/porcelain.rb', line 15185

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.



15189
15190
15191
# File 'lib/models/porcelain.rb', line 15189

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



15166
15167
15168
# File 'lib/models/porcelain.rb', line 15166

def scim
  @scim
end

#suspendedObject

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



15191
15192
15193
# File 'lib/models/porcelain.rb', line 15191

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



15193
15194
15195
# File 'lib/models/porcelain.rb', line 15193

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



15225
15226
15227
15228
15229
15230
15231
# File 'lib/models/porcelain.rb', line 15225

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