code: def set_guest_property(self, property_p, value, flags):
          
          if not isinstance(property_p, basestring):
              raise TypeError("property_p can only be an instance of type basestring")
          if not isinstance(value, basestring):
              raise TypeError("value can only be an instance of type basestring")
          if not isinstance(flags, basestring):
              raise TypeError("flags can only be an instance of type basestring")
          self._call("setGuestProperty",
                       in_p=[property_p, value, flags])
docs: Sets, changes or deletes an entry in the machine's guest property
          store.
  
          in property_p of type str
              The name of the property to set, change or delete.
  
          in value of type str
              The new value of the property to set, change or delete. If the
              property does not yet exist and value is non-empty, it will be
              created. If the value is @c null or empty, the property will be
              deleted if it exists.
  
          in flags of type str
              Additional property parameters, passed as a comma-separated list of
              "name=value" type entries.
  
          raises :class:`OleErrorAccessdenied`
              Property cannot be changed.
          
          raises :class:`OleErrorInvalidarg`
              Invalid @a flags.
          
          raises :class:`VBoxErrorInvalidVmState`
              Virtual machine is not mutable or session not open.
          
          raises :class:`VBoxErrorInvalidObjectState`
              Cannot set transient property when machine not running.