class DscLcmConfiguration::LcmBase
Public Class Methods
lcm_factory(version = "wmf4", options)
click to toggle source
# File lib/dsc_lcm_configuration/lcm_base.rb, line 12 def self.lcm_factory(version = "wmf4", options) case version.to_s.downcase when "4", "wmf4_with_update" LcmV4.new(options) when "5", "wmf5" LcmV5.new(options) else LcmBase.new(options) end end
new(config = {})
click to toggle source
# File lib/dsc_lcm_configuration/lcm_base.rb, line 35 def initialize(config = {}) @certificate_id = nil lcm_properties.each do |setting, value| send(setting, value) end config.each do |setting, value| send(setting, value) if lcm_properties.keys.include? setting end end
Public Instance Methods
certificate_id(value = nil)
click to toggle source
# File lib/dsc_lcm_configuration/lcm_base.rb, line 55 def certificate_id(value = nil) if value.nil? @certificate_id.nil? ? "$null" : "'#{@certificate_id}'" else @certificate_id = value end end
lcm_config()
click to toggle source
# File lib/dsc_lcm_configuration/lcm_base.rb, line 63 def lcm_config hash = {} lcm_properties.keys.each do |key| hash[key] = send(key) end hash end
lcm_configuration_script()
click to toggle source
# File lib/dsc_lcm_configuration/lcm_base.rb, line 71 def lcm_configuration_script <<-LCMSETUP configuration SetupLCM { LocalConfigurationManager { AllowModuleOverwrite = [bool]::Parse('#{allow_module_overwrite}') CertificateID = #{certificate_id} ConfigurationMode = '#{configuration_mode}' ConfigurationModeFrequencyMins = #{configuration_mode_frequency_mins} RebootNodeIfNeeded = [bool]::Parse('#{reboot_if_needed}') RefreshFrequencyMins = #{refresh_frequency_mins} RefreshMode = '#{refresh_mode}' } } LCMSETUP end
lcm_properties()
click to toggle source
# File lib/dsc_lcm_configuration/lcm_base.rb, line 23 def lcm_properties @lcm_properties ||= { :allow_module_overwrite => false, :certificate_id => nil, :configuration_mode => "ApplyAndAutoCorrect", :configuration_mode_frequency_mins => 30, :reboot_if_needed => false, :refresh_mode => "PUSH", :refresh_frequency_mins => 15, } end
method_missing(name, *args)
click to toggle source
Calls superclass method
# File lib/dsc_lcm_configuration/lcm_base.rb, line 46 def method_missing(name, *args) return super unless lcm_properties.keys.include?(name) if args.length == 1 instance_variable_set("@#{name}", args.first) else instance_variable_get("@#{name}") end end