Class: JSS::Account
- Defined in:
- lib/jss.rb,
lib/jss/api_object/account.rb
Overview
A User or group in the JSS.
Constant Summary collapse
- RSRC_BASE =
The base for REST resources of this class
'accounts'.freeze
- RSRC_LIST_KEY =
the hash key used for the JSON list output of all objects in the JSS
:accounts
- RSRC_OBJECT_KEY =
The hash key used for the JSON object output. It’s also used in various error messages
:account
- OTHER_LOOKUP_KEYS =
these keys, as well as :id and :name, can be used to look up objects of this class in the JSS
{ userid: {rsrc_key: :userid, list: :all_user_ids}, username: {rsrc_key: :username, list: :all_user_names}, groupid: {rsrc_key: :groupid, list: :all_group_ids}, groupname: {rsrc_key: :groupname, list: :all_group_names} }.freeze
Instance Attribute Summary collapse
-
#access_level ⇒ String
readonly
The user’s access level.
-
#email ⇒ String
readonly
The user’s email address.
-
#full_name ⇒ String
readonly
The user’s full name.
-
#privilege_set ⇒ String
readonly
The user’s privilege set.
-
#privileges ⇒ Hash
readonly
Info about the privileges assigned to the user.
Class Method Summary collapse
-
.all_group_ids(refresh = false, api: JSS.api) ⇒ Array<Hash>
All JSS account group ids.
-
.all_group_names(refresh = false, api: JSS.api) ⇒ Array<Hash>
All JSS account group names.
-
.all_groups(refresh = false, api: JSS.api) ⇒ Array<Hash>
All JSS account groups.
-
.all_user_ids(refresh = false, api: JSS.api) ⇒ Array<Hash>
All JSS account user ids.
-
.all_user_names(refresh = false, api: JSS.api) ⇒ Array<Hash>
All JSS account user names.
-
.all_users(refresh = false, api: JSS.api) ⇒ Array<Hash>
All JSS account users.
Instance Method Summary collapse
-
#initialize(args = {}) ⇒ Account
constructor
See JSS::APIObject#initialize.
Constructor Details
#initialize(args = {}) ⇒ Account
See JSS::APIObject#initialize
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/jss/api_object/account.rb', line 140 def initialize(args = {}) super args # check to see if a user has been specified, haven't built groups yet is_user = [:userid, :username].any? { |key| args.keys.include? key } return unless is_user @user_name = @init_data[:name] @full_name = @init_data[:full_name] @email = @init_data[:email] @access_level = @init_data[:access_level] @privilege_set = @init_data[:privilege_set] @privileges = @init_data[:privileges] end |
Instance Attribute Details
#access_level ⇒ String (readonly)
Returns The user’s access level.
114 115 116 |
# File 'lib/jss/api_object/account.rb', line 114 def access_level @access_level end |
#email ⇒ String (readonly)
Returns The user’s email address.
111 112 113 |
# File 'lib/jss/api_object/account.rb', line 111 def email @email end |
#full_name ⇒ String (readonly)
Returns The user’s full name.
108 109 110 |
# File 'lib/jss/api_object/account.rb', line 108 def full_name @full_name end |
#privilege_set ⇒ String (readonly)
Returns The user’s privilege set.
117 118 119 |
# File 'lib/jss/api_object/account.rb', line 117 def privilege_set @privilege_set end |
#privileges ⇒ Hash (readonly)
Info about the privileges assigned to the user
Note: these arrays may be empty, they always exist
The Hash keys are:
-
:jss_objects => An array of jss_object privileges
-
:jss_settings => An array of jss_settings privileges
-
:jss_actions => An array of jss_actions privileges
-
:recon => An array of Casper Recon privileges
-
:casper_admin => An array of Casper Admin privileges
-
:casper_remote => An array of Casper Remote privileges
-
:casper_imaging => An array of Casper Imaging privileges
133 134 135 |
# File 'lib/jss/api_object/account.rb', line 133 def privileges @privileges end |
Class Method Details
.all_group_ids(refresh = false, api: JSS.api) ⇒ Array<Hash>
Returns all JSS account group ids.
95 96 97 |
# File 'lib/jss/api_object/account.rb', line 95 def self.all_group_ids(refresh = false, api: JSS.api) all(refresh, api: api)[:groups].map { |i| i[:id] } end |
.all_group_names(refresh = false, api: JSS.api) ⇒ Array<Hash>
Returns all JSS account group names.
100 101 102 |
# File 'lib/jss/api_object/account.rb', line 100 def self.all_group_names(refresh = false, api: JSS.api) all(refresh, api: api)[:groups].map { |i| i[:name] } end |
.all_groups(refresh = false, api: JSS.api) ⇒ Array<Hash>
Returns all JSS account groups.
90 91 92 |
# File 'lib/jss/api_object/account.rb', line 90 def self.all_groups(refresh = false, api: JSS.api) all(refresh, api: api)[:groups] end |
.all_user_ids(refresh = false, api: JSS.api) ⇒ Array<Hash>
Returns all JSS account user ids.
80 81 82 |
# File 'lib/jss/api_object/account.rb', line 80 def self.all_user_ids(refresh = false, api: JSS.api) all(refresh, api: api)[:users].map { |i| i[:id] } end |