Class: JSS::RestrictedSoftware
- Defined in:
- lib/jss/api_object/restricted_software.rb,
lib/jss.rb
Overview
Restricted Software items in the JSS.
Constant Summary collapse
- RSRC_BASE =
The base for REST resources of this class
'restrictedsoftware'.freeze
- RSRC_LIST_KEY =
the hash key used for the JSON list output of all objects in the JSS
:restricted_software- RSRC_OBJECT_KEY =
The hash key used for the JSON object output. It’s also used in various error messages
:restricted_software- VALID_DATA_KEYS =
these keys, as well as :id and :name, are present in valid API JSON data for this class
[:scope].freeze
- SCOPE_TARGET_KEY =
Our scopes deal with computers
:computers- OBJECT_HISTORY_OBJECT_TYPE =
the object type for this object in the object history table. See APIObject#add_object_history_entry
5
Instance Attribute Summary collapse
-
#delete_executable ⇒ Boolean
(also: #delete_executable?)
Whether to delete the executable.
-
#display_message ⇒ String
Message displayed to the user.
-
#kill_process ⇒ Boolean
(also: #kill_process?)
Whether to kill the running process.
-
#match_exact_process_name ⇒ Boolean
(also: #match_exact_process_name?)
Whether to return match exact process name.
-
#need_to_update ⇒ Boolean
included
from Updatable
readonly
Do we have unsaved changes?.
-
#process_name ⇒ String
The process name.
-
#scope ⇒ Object
included
from Scopable
Attribtues.
-
#send_notification ⇒ Boolean
(also: #send_notification?)
Whether to send a notification.
-
#site ⇒ Hash
The :name and :id of the site for this machine.
Instance Method Summary collapse
-
#clone(new_name, api: nil) ⇒ APIObject
included
from Creatable
make a clone of this API object, with a new name.
- #create ⇒ Object
-
#initialize(args = {}) ⇒ RestrictedSoftware
constructor
Instance Methods.
-
#name=(newname) ⇒ void
included
from Updatable
Change the name of this item Remember to #update to push changes to the server.
-
#parse_scope ⇒ void
included
from Scopable
private
Call this during initialization of objects that have a scope and the scope instance will be created from @init_data.
-
#should_update ⇒ void
included
from Scopable
When the scope changes, it calls this to tell us that an update is needed.
- #update ⇒ Object
Constructor Details
#initialize(args = {}) ⇒ RestrictedSoftware
Instance Methods
66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/jss/api_object/restricted_software.rb', line 66 def initialize(args = {}) super args @init_data[:general] ||= {} @process_name = @init_data[:general][:process_name] @match_exact_process_name = @init_data[:general][:match_exact_process_name] @send_notification = @init_data[:general][:send_notification] @kill_process = @init_data[:general][:kill_process] @delete_executable = @init_data[:general][:delete_executable] = @init_data[:general][:display_message] @site = JSS::APIObject.get_name(@init_data[:general][:site]) @site ||= 'None' @scope ||= JSS::Scopable::Scope.new SCOPE_TARGET_KEY, nil end |
Instance Attribute Details
#delete_executable ⇒ Boolean Also known as: delete_executable?
55 56 57 |
# File 'lib/jss/api_object/restricted_software.rb', line 55 def delete_executable @delete_executable end |
#display_message ⇒ String
58 59 60 |
# File 'lib/jss/api_object/restricted_software.rb', line 58 def end |
#kill_process ⇒ Boolean Also known as: kill_process?
52 53 54 |
# File 'lib/jss/api_object/restricted_software.rb', line 52 def kill_process @kill_process end |
#match_exact_process_name ⇒ Boolean Also known as: match_exact_process_name?
46 47 48 |
# File 'lib/jss/api_object/restricted_software.rb', line 46 def match_exact_process_name @match_exact_process_name end |
#need_to_update ⇒ Boolean (readonly) Originally defined in module Updatable
#process_name ⇒ String
43 44 45 |
# File 'lib/jss/api_object/restricted_software.rb', line 43 def process_name @process_name end |
#send_notification ⇒ Boolean Also known as: send_notification?
49 50 51 |
# File 'lib/jss/api_object/restricted_software.rb', line 49 def send_notification @send_notification end |
#site ⇒ Hash
61 62 63 |
# File 'lib/jss/api_object/restricted_software.rb', line 61 def site @site end |
Instance Method Details
#clone(new_name, api: nil) ⇒ APIObject Originally defined in module Creatable
make a clone of this API object, with a new name. The class must be creatable
#create ⇒ Object
127 128 129 130 131 |
# File 'lib/jss/api_object/restricted_software.rb', line 127 def create raise JSS::MissingDataError, 'process_name must be set before creating' if @process_name.to_s.empty? raise JSS::AlreadyExistsError, "A #{RSRC_OBJECT_KEY} named #{@name} already exists in the JSS" if self.class.all_names(:refresh, api: @api).include? @name super end |
#name=(newname) ⇒ void Originally defined in module Updatable
This method returns an undefined value.
Change the name of this item Remember to #update to push changes to the server.
#parse_scope ⇒ void Originally defined in module Scopable
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
This method returns an undefined value.
Call this during initialization of objects that have a scope and the scope instance will be created from @init_data
#should_update ⇒ void Originally defined in module Scopable
This method returns an undefined value.
When the scope changes, it calls this to tell us that an update is needed.
#update ⇒ Object
133 134 135 136 |
# File 'lib/jss/api_object/restricted_software.rb', line 133 def update raise JSS::MissingDataError, 'process_name must be set before updating' if @process_name.to_s.empty? super end |