diff --git a/src/confluent_kafka/schema_registry/schema_registry_client.py b/src/confluent_kafka/schema_registry/schema_registry_client.py index c414c7ee1..4d82ca380 100644 --- a/src/confluent_kafka/schema_registry/schema_registry_client.py +++ b/src/confluent_kafka/schema_registry/schema_registry_client.py @@ -560,7 +560,7 @@ def get_versions(self, subject_name): return self._rest_client.get('subjects/{}/versions'.format(_urlencode(subject_name))) - def delete_version(self, subject_name, version): + def delete_version(self, subject_name, version, permanent=False): """ Deletes a specific version registered to ``subject_name``. @@ -569,6 +569,8 @@ def delete_version(self, subject_name, version): version (int): Version number + permanent (bool): True for a hard delete, False (default) for a soft delete + Returns: int: Version number which was deleted @@ -582,6 +584,10 @@ def delete_version(self, subject_name, version): response = self._rest_client.delete('subjects/{}/versions/{}'. format(_urlencode(subject_name), version)) + if permanent: + self._rest_client.delete('subjects/{}/versions/{}?permanent=true'. + format(_urlencode(subject_name), + version)) return response def set_compatibility(self, subject_name=None, level=None):