code: def set_ids(self, set_image_id, image_id, set_parent_id, parent_id):
          
          if not isinstance(set_image_id, bool):
              raise TypeError("set_image_id can only be an instance of type bool")
          if not isinstance(image_id, basestring):
              raise TypeError("image_id can only be an instance of type basestring")
          if not isinstance(set_parent_id, bool):
              raise TypeError("set_parent_id can only be an instance of type bool")
          if not isinstance(parent_id, basestring):
              raise TypeError("parent_id can only be an instance of type basestring")
          self._call("setIds",
                       in_p=[set_image_id, image_id, set_parent_id, parent_id])
docs: Changes the UUID and parent UUID for a hard disk medium.
  
          in set_image_id of type bool
              Select whether a new image UUID is set or not.
  
          in image_id of type str
              New UUID for the image. If an empty string is passed, then a new
              UUID is automatically created, provided that @a setImageId is @c true.
              Specifying a zero UUID is not allowed.
  
          in set_parent_id of type bool
              Select whether a new parent UUID is set or not.
  
          in parent_id of type str
              New parent UUID for the image. If an empty string is passed, then a
              new UUID is automatically created, provided @a setParentId is
              @c true. A zero UUID is valid.
  
          raises :class:`OleErrorInvalidarg`
              Invalid parameter combination.
          
          raises :class:`VBoxErrorNotSupported`
              Medium is not a hard disk medium.