Instance Discovery

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.

Quick Start
# List all stopped instances
python stopped_instances.py
# Filter by age (30+ days)
python stopped_instances.py --min-days 30
# Specific compartments
python stopped_instances.py --compartments ocid1.comp...

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

Python 3.6+

Modern Python with asyncio and concurrent.futures support

OCI Python SDK

Oracle Cloud Infrastructure SDK for Python (pip install oci)

OCI Configuration

Valid OCI config file (~/.oci/config) with appropriate authentication

IAM Permissions

Read access to compute instances and compartments across target regions

Network Connectivity

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.

Instance details and configuration
Age analysis and creation timestamps
Owner information from tag analysis
Regional and compartment organization
Shape and availability domain details

HTML Executive Report

Rich HTML report with visual analytics, age distribution charts, and executive-friendly presentation for stakeholder communication.

Executive summary with key metrics
Age distribution with priority levels
Regional and compartment breakdowns
Top oldest instances analysis
Performance metrics and API statistics

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.