[Docs] Add "Feature Matrix" or "Capability Status" table to Provider pages

Open
#2,084 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
python

Research direction

Start with the Supported Providers page at libcloud.apache.org/supported_providers.html and review the individual Compute and Storage provider pages. Determine whether the matrix belongs on provider pages or in a centralized document, then inventory standard methods and provider-specific ex_* extensions from the relevant drivers. Done means the selected major providers have documented capability statuses and notes, with the scope and maintenance approach made explicit.

Written by the indexing model from the issue text.

Description

Is your feature request related to a problem? Please describe.

Currently, the "Supported Providers" documentation lists which drivers exist (e.g., EC2, Azure ARM, GCE), but it is difficult for a user to determine the depth of support for each provider without diving into the source code.

The Problem:
A user looking at the Compute Providers page sees that "Amazon EC2" is supported. However, they cannot easily verify:

  1. Does it support recent features like IMDSv2 (Instance Metadata Service v2)?
  2. Does it support Spot Instance requests via the unified API?
  3. Are the list_sizes or list_images methods hardcoded or dynamically fetched?

This opacity makes it hard for architects to evaluate Libcloud against the native SDKs (Boto3, Azure SDK) for their specific needs.

Describe the solution you'd like

I propose enhancing the documentation for major providers (Compute/Storage) to include a Capability Status Matrix.

Proposed Documentation Update:
On the individual provider pages (or a centralized matrix), we should track the support status of standard API methods.

Example Table:

Feature Support Status Notes
create_node ✅ Full Supports user_data, SSH keys
list_sizes ⚠️ Partial Hardcoded list (last updated 2024)
deploy_node ✅ Full
ex_start_node ✅ Extension Provider-specific extension
IPv6 Support ❌ No
Describe alternatives you've considered
  • Status Quo: Users must install the library and run dir(driver) or inspect the source code to find capabilities.
  • Automated Badge: Generating this matrix automatically from the test suite (e.g., based on which methods are overridden in the driver class). This would be the ideal long-term solution.
Additional Context

As cloud providers add features rapidly, Libcloud's value proposition is "unification." Clear documentation on what is unified vs. what requires extension methods (ex_*) is critical for adoption.

Dominant language
Python
Stars
2.1k
Forks
935
Avg merge
5d 3h
Merged PRs (30d)
15

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/libcloud

All issues in apache/libcloud

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.