code: def _apply_advanced_config(config_spec, advanced_config, vm_extra_config=None):
      '''
      Sets configuration parameters for the vm
  
      config_spec
          vm.ConfigSpec object
  
      advanced_config
          config key value pairs
  
      vm_extra_config
          Virtual machine vm_ref.config.extraConfig object
      '''
      log.trace('Configuring advanced configuration '
                'parameters %s', advanced_config)
      if isinstance(advanced_config, str):
          raise salt.exceptions.ArgumentValueError(
              'The specified \'advanced_configs\' configuration '
              'option cannot be parsed, please check the parameters')
      for key, value in six.iteritems(advanced_config):
          if vm_extra_config:
              for option in vm_extra_config:
                  if option.key == key and option.value == str(value):
                      continue
          else:
              option = vim.option.OptionValue(key=key, value=value)
              config_spec.extraConfig.append(optionf _apply_advanced_config(config_spec, advanced_config, vm_extra_config=None):
      '''
      Sets configuration parameters for the vm
  
      config_spec
          vm.ConfigSpec object
  
      advanced_config
          config key value pairs
  
      vm_extra_config
          Virtual machine vm_ref.config.extraConfig object
      '''
      log.trace('Configuring advanced configuration '
                'parameters %s', advanced_config)
      if isinstance(advanced_config, str):
          raise salt.exceptions.ArgumentValueError(
              'The specified \'advanced_configs\' configuration '
              'option cannot be parsed, please check the parameters')
      for key, value in six.iteritems(advanced_config):
          if vm_extra_config:
              for option in vm_extra_config:
                  if option.key == key and option.value == str(value):
                      continue
          else:
              option = vim.option.OptionValue(key=key, value=value)
              config_spec.extraConfig.append(option)
docs: Sets configuration parameters for the vm
  
      config_spec
          vm.ConfigSpec object
  
      advanced_config
          config key value pairs
  
      vm_extra_config
          Virtual machine vm_ref.config.extraConfig object