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.



18066
18067
18068
18069
18070
18071
18072
18073
18074
18075
18076
18077
18078
18079
18080
18081
18082
18083
18084
18085
18086
18087
18088
18089
18090
18091
18092
18093
18094
18095
18096
18097
18098
# File 'lib/models/porcelain.rb', line 18066

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



18035
18036
18037
# File 'lib/models/porcelain.rb', line 18035

def created_at
  @created_at
end

#emailObject

The User's email address. Must be unique.



18037
18038
18039
# File 'lib/models/porcelain.rb', line 18037

def email
  @email
end

#employee_numberObject

Internal employee ID used to identify the user.



18039
18040
18041
# File 'lib/models/porcelain.rb', line 18039

def employee_number
  @employee_number
end

#external_idObject

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



18041
18042
18043
# File 'lib/models/porcelain.rb', line 18041

def external_id
  @external_id
end

#first_nameObject

The User's first name.



18043
18044
18045
# File 'lib/models/porcelain.rb', line 18043

def first_name
  @first_name
end

#idObject

Unique identifier of the User.



18045
18046
18047
# File 'lib/models/porcelain.rb', line 18045

def id
  @id
end

#last_nameObject

The User's last name.



18047
18048
18049
# File 'lib/models/porcelain.rb', line 18047

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.



18049
18050
18051
# File 'lib/models/porcelain.rb', line 18049

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.



18051
18052
18053
# File 'lib/models/porcelain.rb', line 18051

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.



18054
18055
18056
# File 'lib/models/porcelain.rb', line 18054

def password
  @password
end

#permission_levelObject

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



18056
18057
18058
# File 'lib/models/porcelain.rb', line 18056

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.



18060
18061
18062
# File 'lib/models/porcelain.rb', line 18060

def resolved_manager_id
  @resolved_manager_id
end

#scimObject

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



18033
18034
18035
# File 'lib/models/porcelain.rb', line 18033

def scim
  @scim
end

#suspendedObject

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



18062
18063
18064
# File 'lib/models/porcelain.rb', line 18062

def suspended
  @suspended
end

#tagsObject

Tags is a map of key, value pairs.



18064
18065
18066
# File 'lib/models/porcelain.rb', line 18064

def tags
  @tags
end

Instance Method Details

#to_json(options = {}) ⇒ Object



18100
18101
18102
18103
18104
18105
18106
# File 'lib/models/porcelain.rb', line 18100

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