async def delete_old_tags(self):
        from azure.containerregistry import TagOrderBy
        from azure.containerregistry.aio import (
            ContainerRegistryClient,
            ContainerRepositoryClient,
        )
        from azure.identity.aio import DefaultAzureCredential

        # [START list_repositories]
        account_url = os.environ["CONTAINERREGISTRY_ENDPOINT"]
        credential = DefaultAzureCredential()
        client = ContainerRegistryClient(account_url, credential)

        async for repository in client.list_repositories():
            repository_client = ContainerRepositoryClient(
                account_url, repository, credential)
            # [END list_repositories]

            # [START list_tags]
            tag_count = 0
            async for tag in repository_client.list_tags(
                    order_by=TagOrderBy.LAST_UPDATE_TIME_DESCENDING):
                tag_count += 1
                if tag_count > 3:
                    await repository_client.delete_tag(tag.name)
            # [END list_tags]

        await client.close()
    def create_repository_client(self):
        # Instantiate the ContainerRegistryClient
        # [START create_repository_client]
        from azure.containerregistry.aio import ContainerRepositoryClient
        from azure.identity.aio import DefaultAzureCredential

        client = ContainerRepositoryClient(self.account_url, "my_repository", DefaultAzureCredential())
 def create_repository_client(self, endpoint, name, **kwargs):
     return ContainerRepositoryClient(
         endpoint=endpoint,
         repository=name,
         credential=self.get_credential(),
         **kwargs,
     )