Skip to main content

Example plugin for az-scout

Project description

az-scout-plugin-avs-sku

az-scout plugin for Azure VMware Solution (AVS) SKU exploration.

It adds:

  • an AVS SKU UI tab in az-scout,
  • a REST API route that returns technical SKU data and optional regional pricing,
  • an MCP tool for AI/chat workflows,
  • an AVS-focused chat mode.

Plugin role

This plugin helps compare AVS SKUs by combining:

  • technical specs (CPU, RAM, cores, architecture, vSAN) from upstream SKU metadata,
  • regional retail pricing (PAYG and reservation monthly equivalents),
  • generation labels (Generation 1 / Generation 2 when applicable by region).

Features

  • AVS SKU tab (AVS SKU) with BYOL toggle and pricing display mode selector.
  • Pricing scope selector: public prices list, or selected subscription scope.
  • AVS generation awareness.
  • Chat integration:
    • MCP tool: avs_sku_tool
    • custom chat mode: avs-sku-advisor
    • default-mode addendum for AV* SKU interpretation.

REST API

Base path (mounted by az-scout):

/plugins/avs-sku

Endpoint

GET /plugins/avs-sku/skus

Query parameters

  • region (optional, string): Azure region key (for example eastus).
  • byol (optional, bool, default true): include BYOL pricing rows.
  • sku (optional, string): filter SKUs by name fragment.
  • pricing_source (optional, string, default public): public or subscription.
  • subscription_id (optional, string): selected subscription when pricing_source=subscription.

Behavior notes

  • If region is omitted, response still includes technical SKU data, but no regional pricing lookup.
  • Current pricing retrieval uses Azure Retail Prices API. pricing_source and subscription_id are preserved in response metadata for scope continuity.

Response shape (summary)

{
    "region": "eastus",
    "byol": true,
    "sku_filter": "AV64",
    "pricing_source": "public",
    "subscription_id": "",
    "source": {
        "technical": "https://.../sku.json",
        "pricing": "https://prices.azure.com/api/retail/prices"
    },
    "items": [
        {
            "name": "AV64",
            "technical": { "...": "..." },
            "generation_labels": ["Generation 1", "Generation 2"],
            "price": {
                "found": true,
                "byol": true,
                "currency_code": "USD",
                "payg_hour": 12.34,
                "payg_month": 9008.2,
                "reservation_1y_month": 7000.0,
                "reservation_3y_month": 5400.0,
                "reservation_5y_month": 4900.0
            }
        }
    ]
}

MCP tool

Tool name: avs_sku_tool

Parameters

  • region: str | None = None
  • byol: bool = True
  • sku: str | None = None
  • pricing_source: str = "public"
  • subscription_id: str | None = None

Return value

  • Returns a JSON string (serialized payload) with the same structure as the REST endpoint.

Setup

uv sync --group dev
uv pip install -e .
az-scout

Project structure

src/az_scout_avs_sku/
├── __init__.py
├── avs_data.py
├── routes.py
├── tools.py
└── static/
        ├── css/avs-sku.css
        ├── html/avs-sku-tab.html
        └── js/avs-sku-tab.js
tests/
├── test_routes.py
└── test_tools.py

Quality checks

uv run ruff check src/ tests/
uv run ruff format --check src/ tests/
uv run mypy src/
uv run pytest

License

MIT

Disclaimer

This tool is not affiliated with Microsoft. SKU, pricing, and availability information is indicative and can change. Always validate final sizing, generation availability, and cost in official Microsoft sources and in your target tenant/subscription before deployment.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

az_scout_plugin_avs_sku-2026.3.0.tar.gz (121.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

az_scout_plugin_avs_sku-2026.3.0-py3-none-any.whl (16.2 kB view details)

Uploaded Python 3

File details

Details for the file az_scout_plugin_avs_sku-2026.3.0.tar.gz.

File metadata

File hashes

Hashes for az_scout_plugin_avs_sku-2026.3.0.tar.gz
Algorithm Hash digest
SHA256 bc2f10a0d8cbca69ff720f25896df0d60994d4e9c4ce4ef7a9e94e738dcda114
MD5 30331f8307cc082b9092848f214ebaa6
BLAKE2b-256 f4b198ab7008154d8817f392500972814bed8dd1780c056a3b976964beef412d

See more details on using hashes here.

Provenance

The following attestation bundles were made for az_scout_plugin_avs_sku-2026.3.0.tar.gz:

Publisher: publish.yml on lrivallain/az-scout-plugin-avs-sku

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file az_scout_plugin_avs_sku-2026.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for az_scout_plugin_avs_sku-2026.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d50fbe62ee90eeefc62c19cc91ee1e8396484d0c567cd757f02b924f41b983eb
MD5 becc65c20d6c301143a9f51e1a1844f4
BLAKE2b-256 f9c0433d95cc254cc6bc4d839432b00ac23331213d384770507dfc04e5b31c0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for az_scout_plugin_avs_sku-2026.3.0-py3-none-any.whl:

Publisher: publish.yml on lrivallain/az-scout-plugin-avs-sku

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page