lib/jamf/api/classic/api_objects/patch_policy.rb in ruby-jss-3.1.0 vs lib/jamf/api/classic/api_objects/patch_policy.rb in ruby-jss-3.2.0b3
- old
+ new
@@ -406,11 +406,10 @@
@grace_period_subject = DFT_GRACE_PERIOD_SUBJECT if @grace_period_subject.to_s.empty?
@grace_period_message = grace[:message]
@grace_period_message = DFT_GRACE_PERIOD_MESSAGE if @grace_period_message.to_s.empty?
-
# read-only values, they come from the version.
@release_date = JSS.epoch_to_time gen[:release_date]
@incremental_update = gen[:incremental_update]
@reboot = gen[:reboot]
@minimum_os = gen[:minimum_os]
@@ -430,17 +429,19 @@
# @return [String] the name of the PatchTitle for this patch policy
#
def patch_title_name
return @patch_title.name if @patch_title
+
Jamf::PatchTitle.map_all_ids_to(:name)[software_title_configuration_id]
end
# See attr_reader :target_version
#
def target_version=(new_tgt_vers)
return if new_tgt_vers == target_version
+
@target_version = validate_target_version new_tgt_vers
@need_to_update = true
@refetch_for_new_version = true
end
@@ -448,36 +449,40 @@
#
# @return [void]
#
def enable
return if enabled
+
@enabled = true
@need_to_update = true
end
# disable this policy
#
# @return [void]
#
def disable
return unless enabled
+
@enabled = false
@need_to_update = true
end
# see attr_reader :allow_downgrade
#
def allow_downgrade=(new_val)
return if new_val == allow_downgrade
+
@allow_downgrade = Jamf::Validate.boolean new_val
@need_to_update = true
end
# see attr_reader :patch_unknown
#
def patch_unknown=(new_val)
return if new_val == patch_unknown
+
@patch_unknown = Jamf::Validate.boolean new_val
@need_to_update = true
end
# see attr_reader :deadline
@@ -486,36 +491,40 @@
unless days == NO_DEADLINE
days = Jamf::Validate.integer(days)
days = NO_DEADLINE unless days.positive?
end
return if days == deadline
+
@deadline = days
@need_to_update = true
end
# see attr_reader :grace_period
#
def grace_period=(mins)
mins = Jamf::Validate.integer(mins)
mins = 0 if mins.negative?
return if mins == grace_period
+
@grace_period = mins
@need_to_update = true
end
# see attr_reader :grace_period_subject
#
def grace_period_subject=(subj)
return if grace_period_subject == subj.to_s
+
@grace_period_subject = subj.to_s
@need_to_update = true
end
# see attr_reader :grace_period_message
#
def grace_period_message=(msg)
return if grace_period_message == msg
+
@grace_period_message = msg
@need_to_update = true
end
# Create a new PatchPolicy in the JSS
@@ -561,12 +570,14 @@
if a_title.is_a? Jamf::PatchTitle
@patch_title = a_title
return a_title.id
end
raise Jamf::MissingDataError, ':patch_title is required' unless a_title
+
title_id = Jamf::PatchTitle.valid_id a_title
return title_id if title_id
+
raise Jamf::NoSuchItemError, "No Patch Title matches '#{a_title}'"
end
# raise an exception if a given target version is not valid for this policy
# Otherwise return it
@@ -611,10 +622,10 @@
general.add_element('name').text = name
general.add_element('enabled').text = enabled?.to_s
general.add_element('allow_downgrade').text = allow_downgrade
general.add_element('patch_unknown').text = patch_unknown
- obj << scope.scope_xml
+ obj << scope.scope_xml if scope.should_update?
add_self_service_xml doc
# self svc xml gave us the user_interaction section
user_int = obj.elements['user_interaction']