Class: SDM::NodeMaintenanceWindow

Inherits:
Object
  • Object
show all
Defined in:
lib/models/porcelain.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(cron_schedule: nil, require_idleness: nil) ⇒ NodeMaintenanceWindow

Returns a new instance of NodeMaintenanceWindow.



12824
12825
12826
12827
12828
12829
12830
# File 'lib/models/porcelain.rb', line 12824

def initialize(
  cron_schedule: nil,
  require_idleness: nil
)
  @cron_schedule = cron_schedule == nil ? "" : cron_schedule
  @require_idleness = require_idleness == nil ? false : require_idleness
end

Instance Attribute Details

#cron_schedule ⇒ Object

Cron job syntax for when this maintenance window is active. On this schedule, associated nodes will restart if requested, provided other checks allow the restart to proceed. Times are represented in UTC. e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and Saturday. Not all possible inputs are supported: the month and day of month selections must be '*'.



12816
12817
12818
# File 'lib/models/porcelain.rb', line 12816

def cron_schedule
  @cron_schedule
end

#require_idleness ⇒ Object

Require Idleness defines whether this window can sever live connections. If true, this window will not allow a node to be restarted unless it is serving no connections. If false, given a restart of the node has been requested (for an update, usually), the node will restart as soon as it enters an allowed day / hour combination. At least one maintenance window, out of all configured windows for a node, must have this as false.



12822
12823
12824
# File 'lib/models/porcelain.rb', line 12822

def require_idleness
  @require_idleness
end

Instance Method Details

#to_json(options = {}) ⇒ Object



12832
12833
12834
12835
12836
12837
12838
# File 'lib/models/porcelain.rb', line 12832

def to_json(options = {})
  hash = {}
  self.instance_variables.each do |var|
    hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
  end
  hash.to_json
end