class Kitchen::Provisioner::DscLcm::LcmBase

Public Class Methods

new(config = {}) click to toggle source
# File lib/kitchen/provisioner/dsc_lcm/lcm_base.rb, line 29
def initialize(config = {})
  @certificate_id = nil
  lcm_properties.each do |setting, value|
    send(setting, value)
  end

  config.each do |setting, value|
    send(setting, value)
  end
end

Public Instance Methods

certificate_id(value = nil) click to toggle source
# File lib/kitchen/provisioner/dsc_lcm/lcm_base.rb, line 50
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/kitchen/provisioner/dsc_lcm/lcm_base.rb, line 58
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/kitchen/provisioner/dsc_lcm/lcm_base.rb, line 66
        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/kitchen/provisioner/dsc_lcm/lcm_base.rb, line 17
def 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/kitchen/provisioner/dsc_lcm/lcm_base.rb, line 40
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