Class: JSS::RestrictedSoftware

Inherits:
APIObject show all
Includes:
Creatable, Scopable, Updatable
Defined in:
lib/jss/api_object/restricted_software.rb,
lib/jss.rb

Overview

Restricted Software items in the JSS.

See Also:

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

Instance Method Summary collapse

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]
  @display_message = @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_executableBoolean 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_messageString



58
59
60
# File 'lib/jss/api_object/restricted_software.rb', line 58

def display_message
  @display_message
end

#kill_processBoolean 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_nameBoolean 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_updateBoolean (readonly) Originally defined in module Updatable

#process_nameString



43
44
45
# File 'lib/jss/api_object/restricted_software.rb', line 43

def process_name
  @process_name
end

#scopeObject Originally defined in module Scopable

Attribtues

#send_notificationBoolean Also known as: send_notification?



49
50
51
# File 'lib/jss/api_object/restricted_software.rb', line 49

def send_notification
  @send_notification
end

#siteHash



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

#createObject



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_scopevoid 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_updatevoid 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.

#updateObject



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