class Nexpose::ScheduledBackup
Configuration structure for scheduled backups.
Attributes
cancellation_window[RW]
Number of minutes to wait for running scans to pause/complete before aborting the backup task. Defaults to 0 if not set
description[RW]
The description of the backup. Defaults to nil if not set
enabled[RW]
Whether or not this schedule is enabled. Defaults to true if not set
pause_local_scans[RW]
Whether the backup should pause all local scans or wait for local scans to complete. Defaults to true if not set
platform_independent[RW]
Whether the backup will be platform independent or not. Defaults to true if not set
schedule_interval[RW]
The repeat interval based upon type.
schedule_start[RW]
Starting time of the backup task (in unix epoch with milliseconds. Example: 1464956590000)
schedule_type[RW]
Valid schedule types: daily, hourly, monthly-date, monthly-day, weekly.
Public Class Methods
delete(nsc)
click to toggle source
# File lib/nexpose/scheduled_backup.rb, line 81 def self.delete(nsc) AJAX.delete(nsc, '/api/2.1/schedule_backup/', AJAX::CONTENT_TYPE::JSON) end
from_hash(hash)
click to toggle source
# File lib/nexpose/scheduled_backup.rb, line 44 def self.from_hash(hash) repeat_backup_hash = hash[:repeat_type] backup = new(start: hash[:start_date], enabled: hash[:enabled], type: repeat_backup_hash[:type], interval: repeat_backup_hash[:interval], platform_independent: hash[:platform_independent], description: hash[:description], pause_local_scans: hash[:pause_local_scans], cancellation_window: hash[:cancellation_window]) backup end
load(nsc)
click to toggle source
# File lib/nexpose/scheduled_backup.rb, line 74 def self.load(nsc) uri = '/api/2.1/schedule_backup/' resp = AJAX.get(nsc, uri, AJAX::CONTENT_TYPE::JSON) hash = JSON.parse(resp, symbolize_names: true).first Nexpose::ScheduledBackup.from_hash(hash || []) end
new(start:, enabled: true, type:, interval:, platform_independent: true, description: nil, pause_local_scans: true, cancellation_window: 0)
click to toggle source
# File lib/nexpose/scheduled_backup.rb, line 24 def initialize(start:, enabled: true, type:, interval:, platform_independent: true, description: nil, pause_local_scans: true, cancellation_window: 0) @schedule_start = start @enabled = enabled @schedule_type = type @schedule_interval = interval.to_i @platform_independent = platform_independent @description = description @pause_local_scans = pause_local_scans @cancellation_window = cancellation_window.to_i end
Public Instance Methods
save(nsc)
click to toggle source
# File lib/nexpose/scheduled_backup.rb, line 39 def save(nsc) params = to_json AJAX.post(nsc, '/api/2.1/schedule_backup/', params, AJAX::CONTENT_TYPE::JSON) end
to_h()
click to toggle source
# File lib/nexpose/scheduled_backup.rb, line 57 def to_h backup_hash = { start_date: @schedule_start, enabled: @enabled, description: @description, platform_independent: @platform_independent, pause_local_scans: @pause_local_scans, cancellation_window: @cancellation_window } repeat_hash = { type: @schedule_type, interval: @schedule_interval } backup_hash[:repeat_type] = repeat_hash backup_hash end
to_json()
click to toggle source
# File lib/nexpose/scheduled_backup.rb, line 35 def to_json JSON.generate(to_h) end