This guide helps you migrate from the original v1 script collection to the unified v2 CLI tool.
AWS Cloud Utilities v2 consolidates all the individual v1 scripts into a single, unified command-line interface with enhanced functionality and better user experience.
v1 (Multiple Scripts)
python support/aws_check_support.py
python account/aws_get_acct_info.py
python account/detect_control_tower.py
v2 (Unified CLI)
aws-cloud-utilities support check-level
aws-cloud-utilities account contact-info
aws-cloud-utilities account detect-control-tower
v2 follows a hierarchical structure:
aws-cloud-utilities [GLOBAL-OPTIONS] <service> <operation> [OPTIONS]
| v1 Script | v2 Command | Notes |
|---|---|---|
support/aws_check_support.py |
aws-cloud-utilities support check-level |
Enhanced with better error handling |
support/aws_check_support2.py |
aws-cloud-utilities support check-level --method api |
Integrated as option |
New in v2:
aws-cloud-utilities support cases --status open
aws-cloud-utilities support services
aws-cloud-utilities support severity-levels
| v1 Script | v2 Command | Notes |
|---|---|---|
account/aws_get_acct_info.py |
aws-cloud-utilities account contact-info |
Enhanced output formatting |
account/detect_control_tower.py |
aws-cloud-utilities account detect-control-tower |
Parallel region scanning |
New in v2:
aws-cloud-utilities account info
aws-cloud-utilities account regions
aws-cloud-utilities account limits
aws-cloud-utilities account validate
| v1 Script | v2 Command | Notes |
|---|---|---|
costops/aws_pricing.py |
aws-cloud-utilities costops pricing |
Enhanced with more services |
costops/gpu_spot_prices.py |
aws-cloud-utilities costops gpu-spots |
Better filtering and sorting |
New in v2:
aws-cloud-utilities costops analyze
aws-cloud-utilities costops recommendations
aws-cloud-utilities costops savings-plans
| v1 Script | v2 Command | Notes |
|---|---|---|
security/blue_team_audit.py |
aws-cloud-utilities security blue-team-audit |
Enhanced checks |
security/public_resources.py |
aws-cloud-utilities security public-resources |
Better detection |
New in v2:
aws-cloud-utilities security audit
aws-cloud-utilities security compliance
aws-cloud-utilities iam analyze
cd aws-cloud-tools/v2
pip install -e .
Before (v1):
#!/bin/bash
cd /path/to/aws-cloud-tools
python support/aws_check_support.py
python account/aws_get_acct_info.py
After (v2):
#!/bin/bash
aws-cloud-utilities support check-level
aws-cloud-utilities account contact-info
v1 Configuration:
v2 Configuration:
# Interactive setup
aws-cloud-utilities configure
# Or create ~/.aws-cloud-utilities.env
AWS_PROFILE=default
AWS_DEFAULT_REGION=us-east-1
AWS_OUTPUT_FORMAT=table
WORKERS=4
v1 Output:
v2 Output:
# Multiple formats available
aws-cloud-utilities account info --output json
aws-cloud-utilities account info --output yaml
aws-cloud-utilities account info --output table
aws-cloud-utilities account info --output csv
v1:
v2:
v1:
v2:
v1:
v2:
Before:
# /etc/cron.d/aws-audit
0 2 * * * user cd /path/to/scripts && python security/blue_team_audit.py > /var/log/audit.log
After:
# /etc/cron.d/aws-audit
0 2 * * * user aws-cloud-utilities security blue-team-audit --output json > /var/log/audit.json
Before:
- name: Run AWS Audit
run: |
cd aws-cloud-tools
python security/blue_team_audit.py
python account/detect_control_tower.py
After:
- name: Run AWS Audit
run: |
aws-cloud-utilities security blue-team-audit --output json > audit.json
aws-cloud-utilities account detect-control-tower --output json > control-tower.json
Before:
import subprocess
result = subprocess.run(['python', 'support/aws_check_support.py'], capture_output=True)
After:
import subprocess
result = subprocess.run(['aws-cloud-utilities', 'support', 'check-level', '--output', 'json'], capture_output=True)
Most v1 environment variables are still supported:
# Still works in v2
export AWS_PROFILE=production
export AWS_DEFAULT_REGION=us-west-2
Your existing AWS configuration continues to work:
# ~/.aws/credentials and ~/.aws/config are still used
aws-cloud-utilities --profile production account info
aws-cloud-utilities --version
aws-cloud-utilities --help
# Test account access
aws-cloud-utilities account info
# Test with your profile
aws-cloud-utilities --profile your-profile account info
Run equivalent commands and compare:
# v1
python account/aws_get_acct_info.py > v1-output.txt
# v2
aws-cloud-utilities account contact-info > v2-output.txt
Update one automation script at a time and test thoroughly.
# Ensure v2 is installed
pip install -e /path/to/aws-cloud-tools/v2
# Use --output to match expected format
aws-cloud-utilities account info --output json
# Check if command exists in v2
aws-cloud-utilities --help
aws-cloud-utilities <service> --help
# Same AWS permissions needed
aws sts get-caller-identity
# General help
aws-cloud-utilities --help
# Service help
aws-cloud-utilities account --help
# Command help
aws-cloud-utilities account info --help