Skip to content

Conversation

@ezilber-akamai
Copy link
Contributor

📝 Description

Added support for Private Image Sharing features. Also added corresponding unit tests.

✔️ How to Test

The following steps assume you have pulled down this PR locally.

Unit Tests

make test-unit

@ezilber-akamai ezilber-akamai added the new-feature for new features in the changelog. label Nov 25, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR implements comprehensive support for Private Image Sharing features, enabling users to create and manage image share groups, tokens, and membership through a new API group. The changes include both the core object models and API client methods, along with extensive test coverage.

Key Changes:

  • Added ImageShareGroup and ImageShareGroupToken classes with full CRUD operations
  • Implemented ImageShareGroupAPIGroup for managing share groups and tokens
  • Extended Image model with sharing status properties
  • Added comprehensive unit and integration tests

Reviewed changes

Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.

Show a summary per file
File Description
linode_api4/objects/image_share_group.py New module defining core share group and token objects with methods for managing images and members
linode_api4/groups/image_share_group.py New API group providing client methods for creating and retrieving share groups and tokens
linode_api4/objects/image.py Extended Image model with sharing-related properties and data classes
linode_api4/objects/__init__.py Added export for image share group module
linode_api4/groups/__init__.py Added export for image share group API group
linode_api4/linode_client.py Integrated ImageShareGroupAPIGroup into LinodeClient
test/unit/objects/image_share_group_test.py Comprehensive unit tests for share group and token objects
test/unit/groups/image_share_group_test.py Unit tests for share group API methods
test/unit/objects/image_test.py Updated tests to verify sharing properties on images
test/fixtures/*.json Added fixture files for share group API responses
linode_api4/groups/linode.py Reformatted imports (code style)
test/integration/linode_client/test_linode_client.py Reformatted imports (code style)
test/unit/groups/linode_test.py Reformatted imports (code style)
test/fixtures/images.json Added sharing properties to existing image fixtures
Comments suppressed due to low confidence (1)

linode_api4/groups/image_share_group.py:1

  • The API documentation link for update_member is incorrect. It points to the GET endpoint documentation instead of the PUT endpoint. Should reference the update/PUT endpoint documentation.
from typing import Optional

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ezilber-akamai ezilber-akamai marked this pull request as ready for review November 25, 2025 15:05
@ezilber-akamai ezilber-akamai requested a review from a team as a code owner November 25, 2025 15:05
@ezilber-akamai ezilber-akamai requested review from yec-akamai and zliang-akamai and removed request for a team November 25, 2025 15:05
@lgarber-akamai lgarber-akamai self-requested a review December 1, 2025 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-feature for new features in the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant