-
Notifications
You must be signed in to change notification settings - Fork 25
Added support for Private Image Sharing #739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: proj/private-image-sharing
Are you sure you want to change the base?
Added support for Private Image Sharing #739
Conversation
e16b733 to
50809db
Compare
50809db to
bdbcebf
Compare
d8aecd7 to
e7f53bd
Compare
a1239b0 to
b7a8b53
Compare
There was a problem hiding this 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 introduces comprehensive support for Private Image Sharing functionality in the Ansible Linode collection. The feature enables producers to share private images with consumers through Image Share Groups, with token-based access control and member management.
Key Changes:
- Implements complete Image Share Group lifecycle management (create, read, update, delete)
- Adds Image Share Group Token management for consumer authentication
- Introduces Image Share Group Member operations for access control
- Provides list and info modules for all new resource types
- Includes consumer-specific modules for accessing shared resources
Reviewed changes
Copilot reviewed 56 out of 57 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| plugins/modules/image_share_group*.py (9 files) | Core modules implementing Image Share Group, Token, and Member management |
| plugins/modules/consumer_image_share_group*.py (2 files) | Consumer-facing modules for accessing shared image groups and images |
| plugins/module_utils/doc_fragments/*.py (13 files) | Documentation fragments defining examples and response samples |
| docs/modules/*.md (15 files) | Generated documentation for all new modules |
| tests/integration/targets/*/tasks/main.yaml (12 files) | Integration tests covering all new functionality |
| tests/integration/targets/image_basic/tasks/main.yaml | Updated to assert new image sharing fields |
| Makefile | Modified to support producer/consumer API tokens in integration tests |
| README.md | Updated with links to new module documentation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
tests/integration/targets/image_share_group_member_list/tasks/main.yaml
Outdated
Show resolved
Hide resolved
tests/integration/targets/image_share_group_member_list/tasks/main.yaml
Outdated
Show resolved
Hide resolved
496c734 to
3b51389
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 56 out of 57 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
📝 Description
Added support for Private Image Sharing features.
TODO: Point at new Python SDK version once released.
✔️ How to Test
The following steps assume that you have pulled down this PR locally and ran
make install. You must also run the following command:export TEST_API_VERSION=v4betaSeveral tests for this feature require multiple accounts. In order for these tests to not be skipped, set
LINODE_PRODUCER_API_TOKENandLINODE_CONSUMER_API_TOKENin your environment to two different accounts.Integration Tests
make test-int TEST_SUITE="image_share_group_basic"make test-int TEST_SUITE="image_share_group_info"make test-int TEST_SUITE="image_share_group_list"make test-int TEST_SUITE="image_share_group_token"make test-int TEST_SUITE="image_share_group_token_info"make test-int TEST_SUITE="image_share_group_token_list"make test-int TEST_SUITE="image_share_group_member"make test-int TEST_SUITE="image_share_group_member_info"make test-int TEST_SUITE="image_share_group_member_list"make test-int TEST_SUITE="image_share_group_image_list"make test-int TEST_SUITE="consumer_image_share_group_info"LINODE_PRODUCER_API_TOKENandLINODE_CONSUMER_API_TOKENto be set.make test-int TEST_SUITE="consumer_image_share_group_image_list"LINODE_PRODUCER_API_TOKENandLINODE_CONSUMER_API_TOKENto be set.