code: def add_disk_encryption_password(self, id_p, password, clear_on_suspend):
          
          if not isinstance(id_p, basestring):
              raise TypeError("id_p can only be an instance of type basestring")
          if not isinstance(password, basestring):
              raise TypeError("password can only be an instance of type basestring")
          if not isinstance(clear_on_suspend, bool):
              raise TypeError("clear_on_suspend can only be an instance of type bool")
          self._call("addDiskEncryptionPassword",
                       in_p=[id_p, password, clear_on_suspend])
docs: Adds a password used for hard disk encryption/decryption.
  
          in id_p of type str
              The identifier used for the password. Must match the identifier
              used when the encrypted medium was created.
  
          in password of type str
              The password.
  
          in clear_on_suspend of type bool
              Flag whether to clear the password on VM suspend (due to a suspending host
              for example). The password must be supplied again before the VM can resume.
  
          raises :class:`VBoxErrorPasswordIncorrect`
              The password provided wasn't correct for at least one disk using the provided
  ID.