Add interface function for deleting tags pointing to a manifest

This commit is contained in:
Joseph Schorr 2018-09-20 15:49:20 -04:00
parent bb01e08d44
commit 8cfb3f4fe8
3 changed files with 35 additions and 3 deletions

View file

@ -82,7 +82,8 @@ class RegistryDataInterface(object):
"""
@abstractmethod
def list_repository_tag_history(self, repository_ref, page=1, size=100, specific_tag_name=None, active_tags_only=False):
def list_repository_tag_history(self, repository_ref, page=1, size=100, specific_tag_name=None,
active_tags_only=False):
"""
Returns the history of all tags in the repository (unless filtered). This includes tags that
have been made in-active due to newer versions of those tags coming into service.
@ -110,6 +111,13 @@ class RegistryDataInterface(object):
Deletes the latest, *active* tag with the given name in the repository.
"""
@abstractmethod
def delete_tags_for_manifest(self, manifest):
"""
Deletes all tags pointing to the given manifest, making the manifest inaccessible for pulling.
Returns the tags deleted, if any. Returns None on error.
"""
@abstractmethod
def change_repository_tag_expiration(self, tag, expiration_date):
""" Sets the expiration date of the tag under the matching repository to that given. If the