diff --git a/src/confluent_kafka/schema_registry/schema_registry_client.py b/src/confluent_kafka/schema_registry/schema_registry_client.py index 387edf578..593834161 100644 --- a/src/confluent_kafka/schema_registry/schema_registry_client.py +++ b/src/confluent_kafka/schema_registry/schema_registry_client.py @@ -438,7 +438,7 @@ def get_subjects(self): """ # noqa: E501 return self._rest_client.get('subjects') - def delete_subject(self, subject_name): + def delete_subject(self, subject_name, permanent=False): """ Deletes the specified subject and its associated compatibility level if registered. It is recommended to use this API only when a topic needs @@ -446,6 +446,7 @@ def delete_subject(self, subject_name): Args: subject_name (str): subject name + permanent (bool): True for a hard delete, False (default) for a soft delete Returns: list(int): Versions deleted under this subject @@ -457,9 +458,15 @@ def delete_subject(self, subject_name): `DELETE Subject API Reference `_ """ # noqa: E501 - return self._rest_client.delete('subjects/{}' + list = self._rest_client.delete('subjects/{}' .format(_urlencode(subject_name))) + if permanent: + self._rest_client.delete('subjects/{}?permanent=true' + .format(_urlencode(subject_name))) + + return list + def get_latest_version(self, subject_name): """ Retrieves latest registered version for subject