def virtual_ip=(values)
      @set_args[:state] = 'no'
      list = virtual_ip
      # remove all the virtual configs first
      list.each do |line|
        @set_args[:string] = line
        config_set('itd_service', 'virtual_ip', @set_args)
      end
      @set_args[:state] = ''
      values.each do |value|
        @set_args[:string] = value
        config_set('itd_service', 'virtual_ip', @set_args)
      end
      set_args_keys_default
    end
def virtual_ip=(values)
      @set_args[:state] = 'no'
      list = virtual_ip
      # remove all the virtual configs first
      list.each do |line|
        @set_args[:string] = line
        config_set('itd_service', 'virtual_ip', @set_args)
      end
      @set_args[:state] = ''
      values.each do |value|
        @set_args[:string] = value
        config_set('itd_service', 'virtual_ip', @set_args)
      end
      set_args_keys_default
    end
VIP is a large string like:
 virtual ip 2.2.2.2 10.0.0.0 udp 10 advertise enable device-group icmpGroup
 virtual ip 2.2.2.2 10.0.0.0 udp 10 advertise enable
 virtual ip 2.2.2.2 10.0.0.0 udp 10
 virtual ip 2.2.2.2 10.0.0.0
 all of the above are unique and can be added one after the other
 the entire string is unique but not individual parts of it
 currently, only one VIP can be configured due to nxos issue
 else, the switch crashes, this limitation will be set in
 puppet manifest. Also remove the current VIPs before configuring more