OCI Stopped InstancesLister
Professional Python script that discovers and analyzes stopped compute instances across Oracle Cloud Infrastructure. Fast parallel processing with comprehensive CSV + HTML reporting for resource optimization.
Simple & Fast Instance Discovery
Comprehensive analysis and reporting for stopped OCI compute instances with enterprise-grade performance
Parallel Processing
High-performance parallel scanning across regions and compartments with configurable worker threads
Multi-Region Discovery
Automatically discovers all subscribed regions or targets specific regions for focused analysis
Compartment Intelligence
Smart compartment discovery with caching and support for specific compartment targeting
Owner Detection
Extracts owner information from both freeform and defined tags for accountability tracking
Age Analysis
Calculates days since instance creation with intelligent date parsing and timezone handling
Dual Report Formats
Generates both CSV (for analysis) and HTML (for executive reporting) with comprehensive breakdowns
Robust Error Handling
Comprehensive retry logic, timeout handling, and graceful failure recovery for production environments
Performance Tracking
Real-time progress tracking with performance metrics and API call monitoring
Usage Examples
Real-world scenarios for OCI instance lifecycle management and optimization
Complete Tenancy Scan
python stopped_instances.py
Discovers all stopped instances across your entire OCI tenancy with automatic region and compartment discovery.
Age-Based Filtering
python stopped_instances.py --min-days 30
Focuses on instances stopped for 30+ days for lifecycle management and potential cleanup decisions.
Targeted Compartment Analysis
python stopped_instances.py --compartments ocid1.comp.oc1..xxx,ocid1.comp.oc1..yyy
Analyzes specific compartments for focused resource management and compliance reporting.
Regional Scope Control
python stopped_instances.py --regions us-ashburn-1,us-phoenix-1
Limits analysis to specific regions for targeted optimization and reduced API calls.
Technical Specifications
Enterprise-grade Python script with comprehensive OCI instance discovery capabilities
Requirements
Modern Python with asyncio and concurrent.futures support
Oracle Cloud Infrastructure SDK for Python (pip install oci)
Valid OCI config file (~/.oci/config) with appropriate authentication
Read access to compute instances and compartments across target regions
Internet access to OCI API endpoints with configurable timeouts
Command Line Options
--min-days
Minimum days since creation filter (default: 0)
--compartments
Comma-separated compartment OCIDs for targeted analysis
--regions
Comma-separated region names to scan
--profile
OCI config profile to use (default: DEFAULT)
--max-workers
Maximum parallel workers (default: 20)
Core Features
Discovery Engine
- • Automatic region and compartment discovery
- • Parallel processing with configurable worker threads
- • Intelligent caching for performance optimization
- • Retry logic with exponential backoff
Data Processing
- • Instance age calculation with timezone handling
- • Owner extraction from freeform and defined tags
- • Shape, region, and availability domain analysis
- • Configurable age-based filtering
Reporting Capabilities
- • CSV export for data analysis and integration
- • Rich HTML reports with visual breakdowns
- • Age distribution analysis with priority levels
- • Regional and compartment distribution charts
Performance Optimization
- • Concurrent API calls with rate limiting
- • Progress tracking and performance metrics
- • Configurable timeouts and retry strategies
- • Memory-efficient data processing
Comprehensive Reporting
Professional reporting in multiple formats with detailed analytics and visual breakdowns
CSV Data Export
Structured CSV export optimized for data analysis, filtering, and integration with business intelligence tools.
HTML Executive Report
Rich HTML report with visual analytics, age distribution charts, and executive-friendly presentation for stakeholder communication.
Chef's Tips & Best Practices
Professional recommendations for effective OCI instance lifecycle management
Performance Tuning
Start with 10-15 workers for large tenancies to balance speed and API rate limits. Like preparing multiple dishes simultaneously, find the right balance for your kitchen capacity.
Regional Strategy
Use region filtering for focused analysis or to avoid regions with connectivity issues. Target specific regions like a chef selecting the best ingredients from trusted suppliers.
Age-Based Filtering
Start with 30+ day filters for initial cleanup identification. Like aging wine, some instances need time, but others may be forgotten and ready for cleanup.
Owner Engagement
Use the owner detection to reach out before cleanup decisions. The script identifies owners through tags, enabling proactive communication about instance lifecycle.
Security Considerations
Ensure proper IAM permissions and use appropriate OCI profiles for different environments. The script respects OCI security boundaries and will only analyze accessible resources.
Report Integration
Import CSV reports into analytics tools for trend analysis. The structured output enables executive dashboards and automated lifecycle management workflows.
Ready to Optimize Your OCI Resources?
Download the OCI Stopped Instances Lister and start identifying optimization opportunities in your Oracle Cloud Infrastructure today. Simple, fast, and comprehensive instance discovery.