""" Regions Resource Available region listings """ from typing import Dict, List from .base import BaseResource class RegionsResource(BaseResource): """ Region listings Usage: # List all regions regions = client.regions.list() # List plans available in a region plans = client.regions.list_availability("ewr") """ def list(self, per_page: int = 100, cursor: str = None) -> Dict: """ List all regions Returns: Dict with 'regions' list and 'meta' pagination """ params = {"per_page": per_page} if cursor: params["cursor"] = cursor return self.client.get("regions", params=params) def list_all(self) -> List[Dict]: """List all regions (auto-paginate)""" return self.client.paginate("regions", "regions") def list_availability(self, region_id: str, plan_type: str = None) -> Dict: """ List available plans in a region Args: region_id: Region ID (e.g., "ewr", "lax", "nrt") plan_type: Filter by type ("vc2", "vhf", "vdc") Returns: Dict with 'available_plans' list """ params = {} if plan_type: params["type"] = plan_type return self.client.get(f"regions/{region_id}/availability", params=params)