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



17043
17044
17045
17046
17047
17048
17049
17050
17051
17052
17053
17054
17055
17056
17057
17058
17059
17060
17061
17062
17063
17064
17065
17066
17067
17068
17069
17070
17071
17072
17073
# File 'lib/models/porcelain.rb', line 17043

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

#created_atObject

CreatedAt is the timestamp when the user was created



17014
17015
17016
# File 'lib/models/porcelain.rb', line 17014

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



17016
17017
17018
# File 'lib/models/porcelain.rb', line 17016

def email
  @email
end

#external_idObject

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



17018
17019
17020
# File 'lib/models/porcelain.rb', line 17018

def external_id
  @external_id
end

#first_nameObject

The User's first name.



17020
17021
17022
# File 'lib/models/porcelain.rb', line 17020

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



17022
17023
17024
# File 'lib/models/porcelain.rb', line 17022

def id
  @id
end

#last_nameObject

The User's last name.



17024
17025
17026
# File 'lib/models/porcelain.rb', line 17024

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.



17026
17027
17028
# File 'lib/models/porcelain.rb', line 17026

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.



17028
17029
17030
# File 'lib/models/porcelain.rb', line 17028

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.



17031
17032
17033
# File 'lib/models/porcelain.rb', line 17031

def password
  @password
end

#permission_levelObject

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



17033
17034
17035
# File 'lib/models/porcelain.rb', line 17033

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.



17037
17038
17039
# File 'lib/models/porcelain.rb', line 17037

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



17012
17013
17014
# File 'lib/models/porcelain.rb', line 17012

def scim
  @scim
end

#suspendedObject

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



17039
17040
17041
# File 'lib/models/porcelain.rb', line 17039

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



17041
17042
17043
# File 'lib/models/porcelain.rb', line 17041

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



17075
17076
17077
17078
17079
17080
17081
# File 'lib/models/porcelain.rb', line 17075

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